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

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

seabedcleaner.swf

This is the info page for
Flash #117356

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


Text
<p align="center"><font face="_sans" size="12" color="#ff0000" letterSpacing="0.000000" kerning="1"><a href="http://www.kindisoft.com/" target = "_blank"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</a></font></p>

<p align="left"><font face="FFF Urban" size="8" color="#ffffff" letterSpacing="0.000000" kerning="0"><a href="http://www.gamezhero.com/?utm_campaign=seabedcleaner&utm_source=seabedcleaner&utm_medium=copyright" target = "_blank">copyright © gamezhero.com</a></font></p>

v1.1

1/10

Use the mouse to
remove all this stuff
from seabed.

how to
play

7/10

5/10

4/10

2/10

3/10

Final

8/10

9/10

6/10

continue

Play

<p align="left"><font face="Vogue" size="30" color="#ffffff" letterSpacing="0.000000" kerning="1">00:00:00</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 localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_radius:Number; public var m_localPosition:b2Vec2; public function b2CircleShape(_arg1:b2ShapeDef){ var _local2:b2CircleDef; m_localPosition = new b2Vec2(); super(_arg1); _local2 = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:_-7r, _arg5:Number):Boolean{ var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2XForm, _arg4:b2Vec2):Number{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = b2Math.b2MulX(_arg3, m_localPosition); _local6 = -((b2Math.b2Dot(_arg1, _local5) - _arg2)); if (_local6 < (-(m_radius) + Number.MIN_VALUE)){ return (0); }; if (_local6 > m_radius){ _arg4.SetV(_local5); return (((b2Settings.b2_pi * m_radius) * m_radius)); }; _local7 = (m_radius * m_radius); _local8 = (_local6 * _local6); _local9 = ((_local7 * (Math.asin((_local6 / m_radius)) + (b2Settings.b2_pi / 2))) + (_local6 * Math.sqrt((_local7 - _local8)))); _local10 = (((-2 / 3) * Math.pow((_local7 - _local8), 1.5)) / _local9); _arg4.x = (_local5.x + (_arg1.x * _local10)); _arg4.y = (_local5.y + (_arg1.y * _local10)); return (_local9); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1._-6x.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1._-0Q.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } public function GetRadius():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1._-6x.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1._-0Q.Set((_local4 + m_radius), (_local5 + m_radius)); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function 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.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var m_vertices:Array; public var m_normals:Array; private var s_supportVec:b2Vec2; public var m_obb:_-1F; public var m_coreVertices:Array; public var m_centroid:b2Vec2; 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 _local2:b2PolygonDef; var _local3:int; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; s_supportVec = new b2Vec2(); m_obb = new _-1F(); 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; _local2 = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; _local4 = _local3; _local5 = _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 TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 < 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 function GetCoreVertices():Array{ return (m_coreVertices); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:_-7r, _arg5:Number):Boolean{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 < 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); } public function GetCentroid():b2Vec2{ return (m_centroid); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 < 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 Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 = m_coreVertices[0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _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 ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2XForm, _arg4:b2Vec2):Number{ var _local5:b2Vec2; var _local6:Number; var _local7:Array; var _local8:int; var _local9:int; var _local10:int; var _local11:b2Vec2; var _local12:Boolean; var _local13:int; var _local14:int; var _local15:int; var _local16:Number; var _local17:Number; var _local18:b2Vec2; var _local19:b2Vec2; var _local20:Number; var _local21:b2Vec2; var _local22:b2Vec2; var _local23:Number; var _local24:Boolean; var _local25:b2MassData; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local5 = b2Math.b2MulTMV(_arg3.R, _arg1); _local6 = (_arg2 - b2Math.b2Dot(_arg1, _arg3.position)); _local7 = []; _local8 = 0; _local9 = -1; _local10 = -1; _local11 = null; _local12 = false; _local13 = 0; while (_local13 < m_vertexCount) { _local11 = m_vertices[_local13]; _local7[_local13] = (((_local5.x * _local11.x) + (_local5.y * _local11.y)) - _local6); _local24 = (_local7[_local13] < -(Number.MIN_VALUE)); if (_local13 > 0){ if (_local24){ if (!_local12){ _local9 = (_local13 - 1); _local8++; }; } else { if (_local12){ _local10 = (_local13 - 1); _local8++; }; }; }; _local12 = _local24; _local13++; }; switch (_local8){ case 0: if (_local12){ _local25 = new b2MassData(); ComputeMass(_local25); _arg4.SetV(b2Math.b2MulX(_arg3, _local25.center)); return ((_local25.mass / m_density)); }; return (0); case 1: if (_local9 == -1){ _local9 = (m_vertexCount - 1); } else { _local10 = (m_vertexCount - 1); }; break; }; _local14 = ((_local9 + 1) % m_vertexCount); _local15 = ((_local10 + 1) % m_vertexCount); _local16 = ((0 - _local7[_local9]) / (_local7[_local14] - _local7[_local9])); _local17 = ((0 - _local7[_local10]) / (_local7[_local15] - _local7[_local10])); _local18 = new b2Vec2(((m_vertices[_local9].x * (1 - _local16)) + (m_vertices[_local14].x * _local16)), ((m_vertices[_local9].y * (1 - _local16)) + (m_vertices[_local14].y * _local16))); _local19 = new b2Vec2(((m_vertices[_local10].x * (1 - _local17)) + (m_vertices[_local15].x * _local17)), ((m_vertices[_local10].y * (1 - _local17)) + (m_vertices[_local15].y * _local17))); _local20 = 0; _arg4.Set(0, 0); _local21 = m_vertices[_local14]; _local23 = (1 / 3); _local13 = _local14; while (_local13 != _local15) { _local13 = ((_local13 + 1) % m_vertexCount); if (_local13 == _local15){ _local22 = _local19; } else { _local22 = m_vertices[_local13]; }; _local26 = (_local21.x - _local18.x); _local27 = (_local21.y - _local18.y); _local28 = (_local22.x - _local18.x); _local29 = (_local22.y - _local18.y); _local30 = ((_local26 * _local29) - (_local27 * _local28)); _local31 = (0.5 * _local30); _local20 = (_local20 + _local31); _arg4.x = (_arg4.x + ((_local31 * _local23) * ((_local18.x + _local21.x) + _local22.x))); _arg4.y = (_arg4.y + ((_local31 * _local23) * ((_local18.y + _local21.y) + _local22.y))); _local21 = _local22; }; _arg4.x = (_arg4.x / _local20); _arg4.y = (_arg4.y / _local20); _arg4.SetV(b2Math.b2MulX(_arg3, _arg4)); return (_local20); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1._-6x.Set(((_local4._-6x.x < _local5._-6x.x)) ? _local4._-6x.x : _local5._-6x.x, ((_local4._-6x.y < _local5._-6x.y)) ? _local4._-6x.y : _local5._-6x.y); _arg1._-0Q.Set(((_local4._-0Q.x > _local5._-0Q.x)) ? _local4._-0Q.x : _local5._-0Q.x, ((_local4._-0Q.y > _local5._-0Q.y)) ? _local4._-0Q.y : _local5._-0Q.y); } public function GetVertices():Array{ return (m_vertices); } public function GetNormals():Array{ return (m_normals); } public function GetOBB():_-1F{ 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 UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; 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 ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 = 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(); _local6 = _local5; _local4 = m_obb._-2h; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1._-6x.Set((_local9 - _local7), (_local10 - _local8)); _arg1._-0Q.Set((_local9 + _local7), (_local10 + _local8)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:_-1F, _arg2:Array, _arg3:int):void{ var _local4:int; var _local5:Array; var _local6:Number; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1._-2h.x = (0.5 * (_local15 - _local13)); _arg1._-2h.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var m_filter:b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var m_isSensor:Boolean; public var m_proxyId:uint; public var m_body:_-0F; 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 = _-6R._-6d; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2XForm, _arg4:b2Vec2):Number{ return (0); } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } 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:_-7r, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:_-V, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if (m_proxyId == _-6R._-6d){ return; }; _arg1.DestroyProxy(m_proxyId); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1._-4Q(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = _-6R._-6d; }; } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:_-V, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if (m_proxyId == _-6R._-6d){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1._-4Q(_local4)){ _arg1._-8P(m_proxyId, _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function IsSensor():Boolean{ return (m_isSensor); } public function DestroyProxy(_arg1:_-V):void{ if (m_proxyId != _-6R._-6d){ _arg1.DestroyProxy(m_proxyId); m_proxyId = _-6R._-6d; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():_-0F{ return (m_body); } public function CreateProxy(_arg1:_-V, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1._-4Q(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = _-6R._-6d; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var isSensor:Boolean;// = false public var density:Number;// = 0 public var type:int;// = -1 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0; isSensor = false; filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//_-04 (Box2D.Collision._-04) package Box2D.Collision { import Box2D.Common.Math.*; public class _-04 { public var v:b2Vec2; public var id:_-3o; public function _-04(){ v = new b2Vec2(); id = new _-3o(); super(); } } }//package Box2D.Collision
Section 10
//_-1F (Box2D.Collision._-1F) package Box2D.Collision { import Box2D.Common.Math.*; public class _-1F { public var R:b2Mat22; public var center:b2Vec2; public var _-2h:b2Vec2; public function _-1F(){ R = new b2Mat22(); center = new b2Vec2(); _-2h = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 11
//_-1R (Box2D.Collision._-1R) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class _-1R { public static var _-8m:b2XForm = new b2XForm(); public static var _-4b:b2XForm = new b2XForm(); public static var _-4N:b2Vec2 = new b2Vec2(); public static var _-7K:b2Vec2 = new b2Vec2(); public static function true(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = _-4N; _local18 = _-7K; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = _-8m; _local27 = _-4b; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance._-10(_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 12
//_-1v (Box2D.Collision._-1v) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class _-1v { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function _-1v(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new _-62(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:_-1v):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as _-62).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function _-4p():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as _-62)._-4p(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 13
//_-3o (Box2D.Collision._-3o) package Box2D.Collision { public class _-3o { public var _key:uint; public var _-W:_-5l; public function _-3o(){ _-W = new _-5l(); super(); _-W._-3r = this; } public function Set(_arg1:_-3o):void{ _-1V = _arg1._key; } public function Copy():_-3o{ var _local1:_-3o; _local1 = new _-3o(); _local1._-1V = _-1V; return (_local1); } public function get _-1V():uint{ return (_key); } public function set _-1V(_arg1:uint):void{ _key = _arg1; _-W._-05 = (_key & 0xFF); _-W._-1J = (((_key & 0xFF00) >> 8) & 0xFF); _-W._-63 = (((_key & 0xFF0000) >> 16) & 0xFF); _-W._-e = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 14
//_-4l (Box2D.Collision._-4l) package Box2D.Collision { import Box2D.Common.Math.*; public class _-4l { public var p:b2Vec2; public function _-4l(){ 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 15
//_-4o (Box2D.Collision._-4o) package Box2D.Collision { public class _-4o { public function switch(_arg1, _arg2, _arg3):void{ } public function _-5M(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 16
//_-5h (Box2D.Collision._-5h) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class _-5h { public static const _-q:uint = 0xFF; private static var _-7v:b2Vec2 = new b2Vec2(); public static function get(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1.m_vertexCount; _local7 = _arg1.m_vertices; _local8 = _arg1.m_normals; _local9 = _arg4.m_vertexCount; _local10 = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function _-7w(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2._-6x; _local4 = _arg1._-0Q; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1._-6x; _local4 = _arg2._-0Q; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function _-8n(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:_-04; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2.m_vertexCount; _local8 = _arg2.m_normals; _local9 = _arg5.m_vertexCount; _local10 = _arg5.m_vertices; _local11 = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id._-W._-7A = _arg4; _local20.id._-W._-7c = _local21; _local20.id._-W._-1n = 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._-W._-7A = _arg4; _local20.id._-W._-7c = _local22; _local20.id._-W._-1n = 1; } public static function _-3k(_arg1:_-1v, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:_-04; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:_-62; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = _-2N(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = _-2N(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; _local21 = [new _-04(), new _-04()]; _-8n(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13.m_vertexCount; _local23 = _local13.m_vertices; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new _-04(), new _-04()]; _local33 = [new _-04(), new _-04()]; _local34 = _-21(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = _-21(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); _local35 = 0; _local36 = 0; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39._-z = b2Math.b2MulXT(_arg3, _local6.v); _local39._-6a = b2Math.b2MulXT(_arg5, _local6.v); _local39.id._-1V = _local6.id._key; _local39.id._-W._-4y = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function _-2N(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2.m_vertexCount; _local7 = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.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)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = get(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = get(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = get(_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 = get(_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 _-21(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:_-04; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; var _local13:_-04; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); _local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function extends(_arg1:_-1v, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:_-62; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; _local19 = _arg1.points[0]; _local19.id._-1V = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_local21 - _arg3.position.y); _local19._-z.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19._-z.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19._-6a.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19._-6a.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function _-2P(_arg1:_-1v, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:_-62; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2.m_vertexCount; _local22 = _arg2.m_vertices; _local23 = _arg2.m_normals; _local24 = 0; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id._-W._-7c = _local18; _local6.id._-W._-1n = _-q; _local6.id._-W._-7A = 0; _local6.id._-W._-4y = 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._-z.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6._-z.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6._-6a.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6._-6a.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id._-W._-7c = _-q; _local6.id._-W._-1n = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id._-W._-7c = _-q; _local6.id._-W._-1n = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id._-W._-7c = _local18; _local6.id._-W._-1n = _-q; }; }; _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._-z.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6._-z.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6._-6a.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6._-6a.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id._-W._-7A = 0; _local6.id._-W._-4y = 0; } } }//package Box2D.Collision
Section 17
//_-5k (Box2D.Collision._-5k) package Box2D.Collision { public class _-5k { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 18
//_-5l (Box2D.Collision._-5l) package Box2D.Collision { public class _-5l { public var _-05:int; public var _-1J:int; public var _-e:int; public var _-63:int; public var _-3r:_-3o; public function get _-7A():int{ return (_-05); } public function set _-1n(_arg1:int):void{ _-63 = _arg1; _-3r._key = ((_-3r._key & 4278255615) | ((_-63 << 16) & 0xFF0000)); } public function get _-4y():int{ return (_-e); } public function get _-7c():int{ return (_-1J); } public function set _-7A(_arg1:int):void{ _-05 = _arg1; _-3r._key = ((_-3r._key & 4294967040) | (_-05 & 0xFF)); } public function set _-4y(_arg1:int):void{ _-e = _arg1; _-3r._key = ((_-3r._key & 0xFFFFFF) | ((_-e << 24) & 4278190080)); } public function get _-1n():int{ return (_-63); } public function set _-7c(_arg1:int):void{ _-1J = _arg1; _-3r._key = ((_-3r._key & 4294902015) | ((_-1J << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 19
//_-5p (Box2D.Collision._-5p) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class _-5p { public var _-7i:int; public var _-3U:Array; public var native:_-4o; public var _-3J:Array; public var _-w:int; public var _-7F:Array; public var _-6X:_-V; public var _-54:uint; public function _-5p(){ var _local1:uint; super(); _-7F = new Array(_-6R._-08); _local1 = 0; while (_local1 < _-6R._-08) { _-7F[_local1] = _-6R._-D; _local1++; }; _-3J = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { _-3J[_local1] = new _-6R(); _local1++; }; _-3U = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { _-3U[_local1] = new _-5k(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { _-3J[_local1].proxyId1 = _-6R._-6d; _-3J[_local1].proxyId2 = _-6R._-6d; _-3J[_local1].userData = null; _-3J[_local1].status = 0; _-3J[_local1].next = (_local1 + 1); _local1++; }; _-3J[int((b2Settings.b2_maxPairs - 1))].next = _-6R._-D; _-7i = 0; _-w = 0; } private function _-4W(_arg1:uint, _arg2:uint, _arg3:uint):_-6R{ var _local4:_-6R; var _local5:uint; _local5 = _-7F[_arg3]; _local4 = _-3J[_local5]; while (((!((_local5 == _-6R._-D))) && ((_-1e(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = _-3J[_local5]; }; if (_local5 == _-6R._-D){ return (null); }; return (_local4); } private function _-5R(_arg1:uint, _arg2:uint):_-6R{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (_-1X(_arg1, _arg2) & _-6R._-8-); return (_-4W(_arg1, _arg2, _local3)); } private function _-5D():void{ } public function _-u():void{ var _local1:_-5k; var _local2:int; var _local3:int; var _local4:Array; var _local5:_-6R; var _local6:_-6s; var _local7:_-6s; _local3 = 0; _local4 = _-6X.try; _local2 = 0; while (_local2 < _-w) { _local1 = _-3U[_local2]; _local5 = _-5R(_local1.proxyId1, _local1.proxyId2); _local5._-8B(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5._-14()){ if (_local5._-6e() == true){ native.switch(_local6.userData, _local7.userData, _local5.userData); }; _local1 = _-3U[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5._-6e() == false){ _local5.userData = native._-5M(_local6.userData, _local7.userData); _local5._-E(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = _-3U[_local2]; _-65(_local1.proxyId1, _local1.proxyId2); _local2++; }; _-w = 0; if (_-V._-6t){ _-7U(); }; } public function _-8D(_arg1:int, _arg2:int):void{ var _local3:_-5k; var _local4:_-6R; _local4 = _-5R(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4._-1z() == false){ _local4._-5B(); _local3 = _-3U[_-w]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; _-w++; }; _local4._-0U(); if (_-V._-6t){ _-5D(); }; } private function _-65(_arg1:uint, _arg2:uint){ var _local3:_-6R; var _local4:uint; var _local5:uint; var _local6:_-6R; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (_-1X(_arg1, _arg2) & _-6R._-8-); _local5 = _-7F[_local4]; _local6 = null; while (_local5 != _-6R._-D) { if (_-1e(_-3J[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = _-3J[_local5]; if (_local6){ _local6.next = _local3.next; } else { _-7F[_local4] = _local3.next; }; _local3 = _-3J[_local8]; _local9 = _local3.userData; _local3.next = _-54; _local3.proxyId1 = _-6R._-6d; _local3.proxyId2 = _-6R._-6d; _local3.userData = null; _local3.status = 0; _-54 = _local8; _-7i--; return (_local9); } else { _local6 = _-3J[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:_-V, _arg2:_-4o):void{ _-6X = _arg1; native = _arg2; } public function _-5w(_arg1:int, _arg2:int):void{ var _local3:_-5k; var _local4:_-6R; _local4 = _-11(_arg1, _arg2); if (_local4._-1z() == false){ _local4._-5B(); _local3 = _-3U[_-w]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; _-w++; }; _local4._-2F(); if (_-V._-6t){ _-5D(); }; } private function _-11(_arg1:uint, _arg2:uint):_-6R{ var _local3:uint; var _local4:_-6R; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (_-1X(_arg1, _arg2) & _-6R._-8-); _local4 = _-4W(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 = _-54; _local4 = _-3J[_local5]; _-54 = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = _-7F[_local3]; _-7F[_local3] = _local5; _-7i++; return (_local4); } private function _-7U():void{ } public static function _-k(_arg1:_-5k, _arg2:_-5k):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function _-1X(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function _-1e(_arg1:_-6R, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Box2D.Collision
Section 20
//_-62 (Box2D.Collision._-62) package Box2D.Collision { import Box2D.Common.Math.*; public class _-62 { public var separation:Number; public var _-6a:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var _-z:b2Vec2; public var id:_-3o; public function _-62(){ _-z = new b2Vec2(); _-6a = new b2Vec2(); id = new _-3o(); super(); } public function Set(_arg1:_-62):void{ _-z.SetV(_arg1._-z); _-6a.SetV(_arg1._-6a); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id._-1V = _arg1.id._-1V; } public function _-4p():void{ _-z.SetZero(); _-6a.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id._-1V = 0; } } }//package Box2D.Collision
Section 21
//_-6R (Box2D.Collision._-6R) package Box2D.Collision { import Box2D.Common.*; public class _-6R { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var status:uint; public var next:uint; public static var _-2q:uint = 4; public static var _-8-:int = (_-08 - 1); public static var _-0d:uint = 2; public static var _-D:uint = b2Settings.USHRT_MAX; public static var _-7j:uint = 1; public static var _-6d:uint = b2Settings.USHRT_MAX; public static var _-08:int = b2Settings.b2_maxPairs; public function _-6R(){ userData = null; super(); } public function _-5B():void{ status = (status | _-7j); } public function _-1z():Boolean{ return (((status & _-7j) == _-7j)); } public function _-6e():Boolean{ return (((status & _-2q) == _-2q)); } public function _-2F():void{ status = (status & ~(_-0d)); } public function _-E():void{ status = (status | _-2q); } public function _-14():Boolean{ return (((status & _-0d) == _-0d)); } public function _-8B():void{ status = (status & ~(_-7j)); } public function _-0U():void{ status = (status | _-0d); } } }//package Box2D.Collision
Section 22
//_-6s (Box2D.Collision._-6s) package Box2D.Collision { public class _-6s { public var false:uint; public var lowerBounds:Array; public var _-09:Array; public var userData;// = null public var _-06:uint; public function _-6s(){ lowerBounds = [uint(0), uint(0)]; _-09 = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((false == _-V._-3h))); } public function _-7q(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.Collision
Section 23
//_-7r (Box2D.Collision._-7r) package Box2D.Collision { import Box2D.Common.Math.*; public class _-7r { public var p1:b2Vec2; public var p2:b2Vec2; public function _-7r(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:_-7r, _arg4:Number):Boolean{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local6) * _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 24
//_-8q (Box2D.Collision._-8q) package Box2D.Collision { public class _-8q { public var _-7D:Array; public var _-34:Array; public function _-8q(){ _-7D = [0, 0]; _-34 = [0, 0]; super(); } } }//package Box2D.Collision
Section 25
//_-V (Box2D.Collision._-V) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class _-V { public var _-2R:b2Vec2; public var m_worldAABB:b2AABB; public var _-1K:Array; public var _-56:uint; public var _-64:int; public var try:Array; public var m_queryResultCount:int; public var _-1G:_-5p; public var static:uint; public var _-7a:Array; public static const else:uint = b2Settings.USHRT_MAX; public static const _-3h:uint = b2Settings.USHRT_MAX; public static var _-6t:Boolean = false; public function _-V(_arg1:b2AABB, _arg2:_-4o){ var _local3:int; var _local4:Number; var _local5:Number; var _local6:_-6s; var _local7:int; _-1G = new _-5p(); try = new Array(b2Settings.b2_maxPairs); _-1K = new Array((2 * b2Settings.b2_maxProxies)); _-7a = new Array(b2Settings.b2_maxProxies); _-2R = new b2Vec2(); super(); _-1G.Initialize(this, _arg2); m_worldAABB = _arg1; _-64 = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { _-7a[_local3] = 0; _local3++; }; _-1K = new Array(2); _local3 = 0; while (_local3 < 2) { _-1K[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { _-1K[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; _local4 = (_arg1._-0Q.x - _arg1._-6x.x); _local5 = (_arg1._-0Q.y - _arg1._-6x.y); _-2R.x = (b2Settings.USHRT_MAX / _local4); _-2R.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new _-6s(); try[_local3] = _local6; _local6._-7q((_local3 + 1)); _local6._-06 = 0; _local6.false = _-3h; _local6.userData = null; _local3++; }; _local6 = new _-6s(); try[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6._-7q(_-6R._-6d); _local6._-06 = 0; _local6.false = _-3h; _local6.userData = null; _-56 = 0; static = 1; m_queryResultCount = 0; } public function _-7l(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:_-6s; _local4 = new Array(); _local5 = new Array(); _-7W(_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7]; _-5v(_local8, _local9, _local4[0], _local5[0], _-1K[0], (2 * _-64), 0); _-5v(_local8, _local9, _local4[1], _local5[1], _-1K[1], (2 * _-64), 1); _local10 = 0; _local11 = 0; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = try[_-7a[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; _-26(); return (_local10); } public function _-u():void{ _-1G._-u(); } public function _-5u(_arg1:int):_-6s{ var _local2:_-6s; _local2 = try[_arg1]; if ((((_arg1 == _-6R._-6d)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function _-26():void{ var _local1:uint; if (static == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (try[_local1] as _-6s)._-06 = 0; _local1++; }; static = 1; } else { static++; }; } private function _-5v(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:_-6s; _local8 = _-3c(_arg5, _arg6, _arg3); _local9 = _-3c(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10._-6K()){ _-55(_local10._-4S); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10._-1E; while (_local13) { _local10 = _arg5[_local12]; if (_local10._-6K()){ _local14 = try[_local10._-4S]; if (_local8 <= _local14._-09[_arg7]){ _-55(_local10._-4S); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function _-0M(_arg1:_-6s, _arg2:_-6s):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = _-1K[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2._-09[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1._-09[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function _-7W(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3._-6x.x; _local5 = _arg3._-6x.y; _local4 = b2Math.b2Min(_local4, m_worldAABB._-0Q.x); _local5 = b2Math.b2Min(_local5, m_worldAABB._-0Q.y); _local4 = b2Math.b2Max(_local4, m_worldAABB._-6x.x); _local5 = b2Math.b2Max(_local5, m_worldAABB._-6x.y); _local6 = _arg3._-0Q.x; _local7 = _arg3._-0Q.y; _local6 = b2Math.b2Min(_local6, m_worldAABB._-0Q.x); _local7 = b2Math.b2Min(_local7, m_worldAABB._-0Q.y); _local6 = b2Math.b2Max(_local6, m_worldAABB._-6x.x); _local7 = b2Math.b2Max(_local7, m_worldAABB._-6x.y); _arg1[0] = (uint((_-2R.x * (_local4 - m_worldAABB._-6x.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((_-2R.x * (_local6 - m_worldAABB._-6x.x))) & 0xFFFF) | 1); _arg1[1] = (uint((_-2R.y * (_local5 - m_worldAABB._-6x.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((_-2R.y * (_local7 - m_worldAABB._-6x.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:_-6s; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:_-6s; _local5 = _-56; _local4 = try[_local5]; _-56 = _local4.GetNext(); _local4.false = 0; _local4.userData = _arg2; _local6 = (2 * _-64); _local7 = new Array(); _local8 = new Array(); _-7W(_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = _-1K[_local9]; _local14 = [_local12]; _local15 = [_local13]; _-5v(_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._-4S = _local20._-4S; _local19._-1E = _local20._-1E; _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._-4S = _local20._-4S; _local19._-1E = _local20._-1E; _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._-4S = _local20._-4S; _local19._-1E = _local20._-1E; _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._-4S = _local20._-4S; _local19._-1E = _local20._-1E; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19._-4S = _local5; _local20.value = _local8[_local9]; _local20._-4S = _local5; _local21 = _local11[int((_local12 - 1))]; _local19._-1E = ((_local12 == 0)) ? 0 : _local21._-1E; _local21 = _local11[int((_local13 - 1))]; _local20._-1E = _local21._-1E; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21._-1E++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = try[_local19._-4S]; if (_local19._-6K()){ _local23.lowerBounds[_local9] = _local3; } else { _local23._-09[_local9] = _local3; }; _local3++; }; _local9++; }; _-64++; _local10 = 0; while (_local10 < m_queryResultCount) { _-1G._-5w(_local5, _-7a[_local10]); _local10++; }; _-1G._-u(); m_queryResultCount = 0; _-26(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:_-6s; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:_-6s; _local4 = try[_arg1]; _local5 = (2 * _-64); _local6 = 0; while (_local6 < 2) { _local8 = _-1K[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4._-09[_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._-4S = _local3._-4S; _local2._-1E = _local3._-1E; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2._-4S = _local3._-4S; _local2._-1E = _local3._-1E; _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._-4S = _local3._-4S; _local2._-1E = _local3._-1E; _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._-4S = _local3._-4S; _local2._-1E = _local3._-1E; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = try[_local2._-4S]; if (_local2._-6K()){ _local19.lowerBounds[_local6] = _local17; } else { _local19._-09[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2._-1E--; _local18++; }; _-5v([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 < m_queryResultCount) { _-1G._-8D(_arg1, _-7a[_local7]); _local7++; }; _-1G._-u(); m_queryResultCount = 0; _-26(); _local4.userData = null; _local4.false = _-3h; _local4.lowerBounds[0] = _-3h; _local4.lowerBounds[1] = _-3h; _local4._-09[0] = _-3h; _local4._-09[1] = _-3h; _local4._-7q(_-56); _-56 = _arg1; _-64--; } public function _-8w(_arg1:_-8q, _arg2:_-6s):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = _-1K[_local3]; _local5 = _local4[_arg2._-09[_local3]]; if (_arg1._-7D[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1._-34[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function _-0o():void{ var _local1:_-6R; var _local2:_-6s; var _local3:_-6s; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; while (_local5 < 2) { _local6 = _-1K[_local5]; _local7 = (2 * _-64); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10._-6K() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function _-55(_arg1:uint):void{ var _local2:_-6s; _local2 = try[_arg1]; if (_local2._-06 < static){ _local2._-06 = static; _local2.false = 1; } else { _local2.false = 2; _-7a[m_queryResultCount] = _arg1; m_queryResultCount++; }; } public function _-4Q(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1._-6x.x; _local3 = _arg1._-6x.y; _local2 = (_local2 - m_worldAABB._-0Q.x); _local3 = (_local3 - m_worldAABB._-0Q.y); _local4 = m_worldAABB._-6x.x; _local5 = m_worldAABB._-6x.y; _local4 = (_local4 - _arg1._-0Q.x); _local5 = (_local5 - _arg1._-0Q.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function _-8P(_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:_-6s; var _local12:uint; var _local13:_-6s; var _local14:_-8q; var _local15:_-8q; 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:_-6s; if ((((_arg1 == _-6R._-6d)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; _local12 = (2 * _-64); _local13 = try[_arg1]; _local14 = new _-8q(); _-7W(_local14._-7D, _local14._-34, _arg2); _local15 = new _-8q(); _local5 = 0; while (_local5 < 2) { _local7 = _-1K[_local5][_local13.lowerBounds[_local5]]; _local15._-7D[_local5] = _local7.value; _local7 = _-1K[_local5][_local13._-09[_local5]]; _local15._-34[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = _-1K[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13._-09[_local5]; _local19 = _local14._-7D[_local5]; _local20 = _local14._-34[_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._-4S; _local24 = try[_local8._-4S]; _local8._-1E++; if (_local8._-6h() == true){ if (_-8w(_local14, _local24)){ _-1G._-5w(_arg1, _local23); }; _local3 = _local24._-09; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7._-1E++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7._-1E--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7._-9(_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._-4S; _local11 = try[_local10]; _local9._-1E++; if (_local9._-6K() == true){ if (_-8w(_local14, _local11)){ _-1G._-5w(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7._-1E++; } else { _local3 = _local11._-09; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7._-1E--; }; _local3 = _local13._-09; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7._-9(_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._-4S; _local11 = try[_local10]; _local9._-1E--; if (_local9._-6h()){ if (_-8w(_local15, _local11)){ _-1G._-8D(_arg1, _local10); }; _local3 = _local11._-09; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7._-1E--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7._-1E++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7._-9(_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._-4S; _local24 = try[_local23]; _local8._-1E--; if (_local8._-6K() == true){ if (_-8w(_local15, _local24)){ _-1G._-8D(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7._-1E--; } else { _local3 = _local24._-09; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7._-1E++; }; _local3 = _local13._-09; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7._-9(_local8); _local6--; }; }; _local5++; }; } public static function _-3c(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 26
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var _-0Q:b2Vec2; public var _-6x:b2Vec2; public function b2AABB(){ _-6x = new b2Vec2(); _-0Q = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (_-0Q.x - _-6x.x); _local2 = (_-0Q.y - _-6x.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (_-6x.IsValid()))) && (_-0Q.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 27
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var _-4S:uint; public var _-1E:uint; public var value:uint; public function _-9(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = _-4S; _local4 = _-1E; value = _arg1.value; _-4S = _arg1._-4S; _-1E = _arg1._-1E; _arg1.value = _local2; _arg1._-4S = _local3; _arg1._-1E = _local4; } public function _-6K():Boolean{ return (((value & 1) == 0)); } public function _-6h():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.Collision
Section 28
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:_-3o; public var friction:Number; public var _-1Z:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); _-1Z = new b2Vec2(); normal = new b2Vec2(); id = new _-3o(); super(); } } }//package Box2D.Collision
Section 29
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var _-3x:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var _-6z:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var _-5c:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var _-3d:_-4l = new _-4l(); public static var _-8y:int = 0; public static function _-66(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function _-6V(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; _local8 = _-6z; _local9 = _-3x; _local10 = _-5c; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - _local21) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; _-8y = _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 = _-2M(_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 = null(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ _-8y = _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))))){ _-8y = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; _-8y = _local13; return (Math.sqrt(_local12)); } public static function _-2e(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(_local15); _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(_local15); _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 null(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; _local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function _-57(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:_-4l; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = _-3d; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local10 = _-6V(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function _-10(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int; var _local8:int; _local7 = _arg3.m_type; _local8 = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (_-2e(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (_-57(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (_-57(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (_-6V(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function _-2M(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; _local3 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function 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 CrossVF(_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MulM(_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function CrossFV(_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _g:uint;// = 0 private var _b:uint;// = 0 private var _r:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = 0; _g = 0; _b = 0; super(); _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 get color():uint{ return ((((_r << 16) | (_g << 8)) | _b)); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = 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 = 20; 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.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; private var m0:_-1v; public var m_manifold:_-1v; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:_-62; m_manifolds = [new _-1v()]; m0 = new _-1v(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:_-0L):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:_-62; var _local5:_-0F; var _local6:_-0F; var _local7:b2ContactPoint; var _local8:_-62; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; m0.Set(m_manifold); _-5h.extends(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8._-z); _local2 = _local5._-5V(_local8._-z); _local3 = _local6._-5V(_local8._-6a); _local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id._-1V = _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._-z); _local2 = _local5._-5V(_local8._-z); _local3 = _local6._-5V(_local8._-6a); _local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id._-1V = _local8.id._key; _arg1._-B(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4._-z); _local2 = _local5._-5V(_local4._-z); _local3 = _local6._-5V(_local4._-6a); _local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id._-1V = _local4.id._key; _arg1._-7M(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; 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 GetShape1():b2Shape{ return (m_shape1); } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function GetShape2():b2Shape{ return (m_shape2); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function Update(_arg1:_-0L):void{ var _local2:int; var _local3:int; var _local4:_-0F; var _local5:_-0F; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4._-7J()))) || (_local5.IsStatic()))) || (_local5._-7J()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:_-0L):void{ } public static function InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:_-1v; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local10.normal = _local10.normal.Negative(); _local9++; }; return (_local8); } else { }; return (!NULL!); } } }//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:_-0F; public var manifold:_-1v; public var normal:b2Vec2; public var body2:_-0F; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:_-0F; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:_-3o; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new _-3o(); super(); } } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactSolver { public var m_constraintCount:int; public var m_constraints:Array; public var m_allocator; public var m_step:_-6C; public function b2ContactSolver(_arg1:_-6C, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; var _local10:_-0F; var _local11:_-0F; 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:_-1v; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:_-62; 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 _-6C(); m_constraints = new Array(); super(); m_step.function = _arg1.function; m_step._-3T = _arg1._-3T; m_step._-45 = _arg1._-45; 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++; }; _local9 = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10._-R.x; _local17 = _local10._-R.y; _local18 = _local11._-R.x; _local19 = _local11._-R.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._-z); _local29.localAnchor2.SetV(_local28._-6a); _local8 = _local10.m_xf.R; _local32 = (_local28._-z.x - _local10.m_sweep.localCenter.x); _local33 = (_local28._-z.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._-6a.x - _local11.m_sweep.localCenter.x); _local35 = (_local28._-6a.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._-4L + _local11._-4L); _local40 = (_local40 + ((_local10._-1 * (_local36 - (_local38 * _local38))) + (_local11._-1 * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10._-4L) + (_local11.m_mass * _local11._-4L)); _local41 = (_local41 + (((_local10.m_mass * _local10._-1) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11._-1) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10._-4L + _local11._-4L); _local46 = (_local46 + ((_local10._-1 * (_local36 - (_local44 * _local44))) + (_local11._-1 * (_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:_-6C):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local5:int; var _local6:b2ContactConstraint; var _local7:_-0F; var _local8:_-0F; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; _local5 = 0; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7._-4L; _local10 = _local7._-1; _local11 = _local8._-4L; _local12 = _local8._-1; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1._-7P){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local20.normalImpulse = (_local20.normalImpulse * _arg1._-0K); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1._-0K); _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._-R.x = (_local7._-R.x - (_local9 * _local21)); _local7._-R.y = (_local7._-R.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8._-R.x = (_local8._-R.x + (_local11 * _local21)); _local8._-R.y = (_local8._-R.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; var _local6:b2ContactConstraint; var _local7:_-0F; var _local8:_-0F; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; _local2 = 0; _local5 = 0; while (_local5 < 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._-4L); _local14 = (_local7.m_mass * _local7._-1); _local15 = (_local8.m_mass * _local8._-4L); _local16 = (_local8.m_mass * _local8._-1); _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._-3E(); _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._-3E(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local19:int; var _local20:b2ContactConstraint; var _local21:_-0F; var _local22:_-0F; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; _local19 = 0; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21._-R; _local26 = _local22._-R; _local27 = _local21._-4L; _local28 = _local21._-1; _local29 = _local22._-4L; _local30 = _local22._-1; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraint; var _local3:_-1v; var _local4:int; var _local5:_-62; var _local6:b2ContactConstraintPoint; _local1 = 0; 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 GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:_-0L):void{ } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; private var m0:_-1v; public var m_manifold:_-1v; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:_-62; m_manifolds = [new _-1v()]; m0 = new _-1v(); 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; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:_-0L):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:_-62; var _local6:_-0F; var _local7:_-0F; var _local8:Array; var _local9:b2ContactPoint; var _local10:_-62; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body; m0.Set(m_manifold); _-5h._-2P(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < 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._-z); _local3 = _local6._-5V(_local10._-z); _local4 = _local7._-5V(_local10._-6a); _local9._-1Z.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id._-1V = _local12; _arg1._-B(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10._-z); _local3 = _local6._-5V(_local10._-z); _local4 = _local7._-5V(_local10._-6a); _local9._-1Z.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id._-1V = _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._-z); _local3 = _local6._-5V(_local5._-z); _local4 = _local7._-5V(_local5._-6a); _local9._-1Z.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id._-1V = _local5.id._key; _arg1._-7M(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; public class b2PolygonContact extends b2Contact { private var m_manifolds:Array; private var m0:_-1v; public var m_manifold:_-1v; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new _-1v(); m_manifolds = [new _-1v()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:_-0L):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:_-62; var _local5:_-0F; var _local6:_-0F; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:_-62; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; m0.Set(m_manifold); _-5h._-3k(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < 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._-z); _local2 = _local5._-5V(_local10._-z); _local3 = _local6._-5V(_local10._-6a); _local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id._-1V = _local12; _arg1._-B(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10._-z); _local2 = _local5._-5V(_local10._-z); _local3 = _local6._-5V(_local10._-6a); _local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id._-1V = _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._-z); _local2 = _local5._-5V(_local4._-z); _local3 = _local6._-5V(_local4._-6a); _local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id._-1V = _local4.id._key; _arg1._-7M(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_mass:Number; public var m_u:b2Vec2; public var m_impulse:Number; public var m_dampingRatio:Number; public var m_frequencyHz:Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_bias:Number; public var m_gamma: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 GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:_-0F; var _local3:_-0F; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; if (m_frequencyHz > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12); m_u.Set(_local9, _local10); _local14 = (_local13 * m_u.x); _local15 = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2._-4L * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2._-4L * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2._-1 * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3._-4L * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3._-4L * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3._-1 * ((_local7 * _local15) - (_local8 * _local14)))); _local2._-3E(); _local3._-3E(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:_-6C):void{ var _local2:b2Mat22; var _local3:Number; var _local4:_-0F; var _local5:_-0F; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1._-3T; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; 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); _local10 = 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(); }; _local11 = ((_local6 * m_u.y) - (_local7 * m_u.x)); _local12 = ((_local8 * m_u.y) - (_local9 * m_u.x)); _local13 = (((_local4._-4L + ((_local4._-1 * _local11) * _local11)) + _local5._-4L) + ((_local5._-1 * _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.function * (_local16 + (_arg1.function * _local17)))); m_bias = (((_local14 * _arg1.function) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1._-7P){ m_impulse = (m_impulse * _arg1._-0K); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4._-R.x = (_local4._-R.x - (_local4._-4L * _local18)); _local4._-R.y = (_local4._-R.y - (_local4._-4L * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4._-1 * ((_local6 * _local19) - (_local7 * _local18)))); _local5._-R.x = (_local5._-R.x + (_local5._-4L * _local18)); _local5._-R.y = (_local5._-R.y + (_local5._-4L * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5._-1 * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:_-6C):void{ var _local2:b2Mat22; var _local3:_-0F; var _local4:_-0F; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; _local10 = (_local3._-R.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3._-R.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4._-R.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4._-R.y + (_local4.m_angularVelocity * _local8)); _local14 = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 * m_u.x); _local17 = (_local15 * m_u.y); _local3._-R.x = (_local3._-R.x - (_local3._-4L * _local16)); _local3._-R.y = (_local3._-R.y - (_local3._-4L * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3._-1 * ((_local5 * _local17) - (_local6 * _local16)))); _local4._-R.x = (_local4._-R.x + (_local4._-4L * _local16)); _local4._-R.y = (_local4._-R.y + (_local4._-4L * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4._-1 * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:_-0F, _arg2:_-0F, _arg3:b2Vec2, _arg4:b2Vec2):void{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_force:Number; public var m_mass:Number; public var m_prismatic1:b2PrismaticJoint; public var m_prismatic2:b2PrismaticJoint; public var m_ground1:_-0F; public var m_ground2:_-0F; public var m_constant:Number; public var m_revolute1:b2RevoluteJoint; public var m_revolute2:b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var m_J:b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); _local2 = _arg1.joint1.m_type; _local3 = _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 GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:_-0F; var _local3:_-0F; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = 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(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2._-4L * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2._-4L * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2._-1 * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3._-4L * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3._-4L * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3._-1 * _local7) * m_J.angular2)); _local2._-3E(); _local3._-3E(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:_-0F; var _local5:_-0F; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; _local2 = m_ground1; _local3 = m_ground2; _local4 = m_body1; _local5 = m_body2; _local14 = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4._-1); } 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._-4L + ((_local4._-1 * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5._-1)); } 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._-4L + ((_local5._-1 * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1._-7P){ _local15 = (_arg1.function * m_force); _local4._-R.x = (_local4._-R.x + ((_local4._-4L * _local15) * m_J.linear1.x)); _local4._-R.y = (_local4._-R.y + ((_local4._-4L * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4._-1 * _local15) * m_J.angular1)); _local5._-R.x = (_local5._-R.x + ((_local5._-4L * _local15) * m_J.linear2.x)); _local5._-R.y = (_local5._-R.y + ((_local5._-4L * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5._-1 * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 = m_J.Compute(_local2._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity); _local5 = ((-(_arg1._-3T) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.function * _local5); _local2._-R.x = (_local2._-R.x + ((_local2._-4L * _local6) * m_J.linear1.x)); _local2._-R.y = (_local2._-R.y + ((_local2._-4L * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2._-1 * _local6) * m_J.angular1)); _local3._-R.x = (_local3._-R.x + ((_local3._-4L * _local6) * m_J.linear2.x)); _local3._-R.y = (_local3._-R.y + ((_local3._-4L * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3._-1 * _local6) * m_J.angular2)); } } }//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var joint2:b2Joint; public var joint1: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 angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:_-0F; 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:_-0F; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:_-6C):void{ } public function GetType():int{ return (m_type); } public function GetBody2():_-0F{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetBody1():_-0F{ return (m_body1); } public function SolveVelocityConstraints(_arg1:_-6C):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:_-0F; public var body2:_-0F; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:_-0F; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { public var m_beta:Number; public var m_mass:b2Mat22; public var m_target:b2Vec2; public var m_impulse:b2Vec2; public var m_localAnchor:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K:b2Mat22; public var m_gamma:Number; public var m_C:b2Vec2; public var m_maxForce:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); _local2 = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); _local4 = 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(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2._-4L; _local8 = _local2._-1; 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); _local9 = (_arg1.function * m_impulse.x); _local10 = (_arg1.function * m_impulse.y); _local2._-R.x = (_local2._-R.x + (_local7 * _local9)); _local2._-R.y = (_local2._-R.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function SolveVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local7 = (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; _local8 = (_local2._-R.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2._-R.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1._-3T) * m_C.x)) + ((m_gamma * _arg1.function) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1._-3T) * m_C.y)) + ((m_gamma * _arg1.function) * m_impulse.y)); _local10 = (-(_arg1._-3T) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1._-3T) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.function * _local10); _local16 = (_arg1.function * _local11); _local2._-R.x = (_local2._-R.x + (_local2._-4L * _local15)); _local2._-R.y = (_local2._-R.y + (_local2._-4L * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var maxForce:Number; public var target:b2Vec2; public var timeStep: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_refAngle:Number; public var m_lowerTranslation:Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var m_localYAxis1:b2Vec2; public var m_motorMass:Number; public var m_maxMotorForce:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_angularMass:Number; public var m_limitState:int; public var m_linearMass:Number; public var m_upperTranslation:Number; public var m_motorJacobian:b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_linearJacobian:b2Jacobian; public var m_enableMotor:Boolean; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); 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 GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetJointTranslation():Number{ var _local1:_-0F; var _local2:_-0F; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1._-6u(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); _local5 = (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 _local3:_-0F; var _local4:_-0F; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3._-4L; _local6 = _local4._-4L; _local7 = _local3._-1; _local8 = _local4._-1; _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local21 = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); _local22 = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-(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)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3._-1 * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4._-1 * _local27)); _local3._-3E(); _local4._-3E(); _local28 = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - 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._-3E(); _local4._-3E(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:_-0F; var _local2:_-0F; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1._-6u(m_localXAxis1); _local16 = _local1._-R; _local17 = _local2._-R; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2._-4L; _local11 = _local3._-4L; _local12 = _local2._-1; _local13 = _local3._-1; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); _local15 = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); 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._-7P){ _local23 = (_arg1.function * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.function * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.function * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.function * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.function * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.function * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2._-R.x = (_local2._-R.x + (_local10 * _local23)); _local2._-R.y = (_local2._-R.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3._-R.x = (_local3._-R.x + (_local11 * _local25)); _local3._-R.y = (_local3._-R.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 SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2._-4L; _local5 = _local3._-4L; _local6 = _local2._-1; _local7 = _local3._-1; _local9 = m_linearJacobian.Compute(_local2._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity); _local10 = ((-(_arg1._-3T) * m_linearMass) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.function * _local10); _local2._-R.x = (_local2._-R.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2._-R.y = (_local2._-R.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3._-R.x = (_local3._-R.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3._-R.y = (_local3._-R.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1._-3T) * m_angularMass) * _local12); m_torque = (m_torque + _local13); _local14 = (_arg1.function * _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._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1._-3T) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.function * _local16); _local2._-R.x = (_local2._-R.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2._-R.y = (_local2._-R.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3._-R.x = (_local3._-R.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3._-R.y = (_local3._-R.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._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity); _local19 = ((-(_arg1._-3T) * 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.function * _local19); _local2._-R.x = (_local2._-R.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2._-R.y = (_local2._-R.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3._-R.x = (_local3._-R.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3._-R.y = (_local3._-R.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAxis1:b2Vec2; public var referenceAngle:Number; public var maxMotorForce:Number; public var motorSpeed:Number; public var upperTranslation:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; 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:_-0F, _arg2:_-0F, _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_ground:_-0F; public var m_maxLength2:Number; public var m_limitForce1:Number; public var m_maxLength1:Number; public var m_limitState1:int; public var m_limitState2:int; public var m_limitPositionImpulse2:Number; public var m_force:Number; public var m_limitPositionImpulse1:Number; public var m_constant: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_positionImpulse:Number; public var m_limitMass2:Number; public var m_limitMass1:Number; public var m_pulleyMass:Number; public var m_u1:b2Vec2; public var m_u2:b2Vec2; public var m_limitForce2:Number; public static const b2_minPulleyLength:Number = 1; 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; _local1 = 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; _local1 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:_-0F; var _local2:_-0F; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local5 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local6 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local7 = (m_ground.m_xf.position.y + m_groundAnchor2.y); _local23 = 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._-4L * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1._-4L * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1._-1 * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2._-4L * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2._-4L * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2._-1 * ((_local10 * _local15) - (_local11 * _local14)))); _local1._-3E(); _local2._-3E(); }; 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._-4L * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1._-4L * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1._-1 * ((_local8 * _local13) - (_local9 * _local12)))); _local1._-3E(); }; 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._-4L * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2._-4L * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2._-1 * ((_local10 * _local15) - (_local11 * _local14)))); _local2._-3E(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local15 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local16 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local17 = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); _local18 = m_u1.Length(); _local19 = 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(); }; _local20 = ((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; }; _local21 = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); _local22 = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2._-4L + ((_local2._-1 * _local21) * _local21)); m_limitMass2 = (_local3._-4L + ((_local3._-1 * _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._-7P){ _local23 = ((_arg1.function * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.function * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.function * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.function * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2._-R.x = (_local2._-R.x + (_local2._-4L * _local23)); _local2._-R.y = (_local2._-R.y + (_local2._-4L * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local5 * _local24) - (_local6 * _local23)))); _local3._-R.x = (_local3._-R.x + (_local3._-4L * _local25)); _local3._-R.y = (_local3._-R.y + (_local3._-4L * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_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); } public function GetLength2():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local3 = (m_ground.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2._-R.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2._-R.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3._-R.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3._-R.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._-3T) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.function) * _local19) * m_u1.x); _local15 = ((-(_arg1.function) * _local19) * m_u1.y); _local16 = (((-(_arg1.function) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.function) * m_ratio) * _local19) * m_u2.y); _local2._-R.x = (_local2._-R.x + (_local2._-4L * _local14)); _local2._-R.y = (_local2._-R.y + (_local2._-4L * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local5 * _local15) - (_local6 * _local14)))); _local3._-R.x = (_local3._-R.x + (_local3._-4L * _local16)); _local3._-R.y = (_local3._-R.y + (_local3._-4L * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2._-R.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2._-R.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1._-3T) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.function) * _local19) * m_u1.x); _local15 = ((-(_arg1.function) * _local19) * m_u1.y); _local2._-R.x = (_local2._-R.x + (_local2._-4L * _local14)); _local2._-R.y = (_local2._-R.y + (_local2._-4L * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3._-R.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3._-R.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1._-3T) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.function) * _local19) * m_u2.x); _local17 = ((-(_arg1.function) * _local19) * m_u2.y); _local3._-R.x = (_local3._-R.x + (_local3._-4L * _local16)); _local3._-R.y = (_local3._-R.y + (_local3._-4L * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function GetLength1():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local3 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = m_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 maxLength2:Number; public var length1:Number; public var length2:Number; public var maxLength1:Number; public var ratio:Number; public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; 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:_-0F, _arg2:_-0F, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = (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_motorForce:Number; public var m_pivotMass:b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; private var K:b2Mat22; public var m_pivotForce:b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var m_maxMotorTorque:Number; public var m_referenceAngle:Number; public var m_lowerAngle:Number; public var m_upperAngle: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 GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (m_upperAngle); } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } 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 _local3:_-0F; var _local4:_-0F; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3._-4L; _local19 = _local4._-4L; _local20 = _local3._-1; _local21 = _local4._-1; 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)); _local22 = tImpulse.x; _local23 = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3._-4L * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3._-4L * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3._-1 * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4._-4L * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4._-4L * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4._-1 * ((_local10 * _local23) - (_local11 * _local22)))); _local3._-3E(); _local4._-3E(); _local24 = 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._-1 * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4._-1 * _local26)); _local3._-3E(); _local4._-3E(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } override public function InitVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2._-4L; _local11 = _local3._-4L; _local12 = _local2._-1; _local13 = _local3._-1; 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._-7P){ _local2._-R.x = (_local2._-R.x - ((_arg1.function * _local10) * m_pivotForce.x)); _local2._-R.y = (_local2._-R.y - ((_arg1.function * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.function * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3._-R.x = (_local3._-R.x + ((_arg1.function * _local11) * m_pivotForce.x)); _local3._-R.y = (_local3._-R.y + ((_arg1.function * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.function * _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; } public function GetMotorTorque():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-0F; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local11 = (((_local3._-R.x + (-(_local3.m_angularVelocity) * _local9)) - _local2._-R.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3._-R.y + (_local3.m_angularVelocity * _local8)) - _local2._-R.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1._-3T) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); _local14 = (-(_arg1._-3T) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); _local15 = (_arg1.function * _local13); _local16 = (_arg1.function * _local14); _local2._-R.x = (_local2._-R.x - (_local2._-4L * _local15)); _local2._-R.y = (_local2._-R.y - (_local2._-4L * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2._-1 * ((_local6 * _local16) - (_local7 * _local15)))); _local3._-R.x = (_local3._-R.x + (_local3._-4L * _local15)); _local3._-R.y = (_local3._-R.y + (_local3._-4L * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1._-3T) * 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._-1 * _arg1.function) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3._-1 * _arg1.function) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1._-3T) * 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._-1 * _arg1.function) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3._-1 * _arg1.function) * _local21)); }; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var upperAngle:Number; public var lowerAngle:Number; public var motorSpeed:Number; public var maxMotorTorque:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:_-0F, _arg2:_-0F, _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
//_-0F (Box2D.Dynamics._-0F) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class _-0F { public var m_next:_-0F; public var _-7O:b2ContactEdge; public var m_angularVelocity:Number; public var _-6Q:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:_-5Y; public var m_prev:_-0F; public var _-4L:Number; public var m_type:int; public var _-0Z:Number; public var _-8Z:Number; public var _-1:Number; public var _-R:b2Vec2; public var _-4P:Number; public var _-7Y:int; public var _-5b:b2JointEdge; public var _-5P:Number; public static var e_fixedRotationFlag:uint = 64; public static var _-2j:uint = 2; public static var _-4e:uint = 3; public static var _-0H:uint = 8; private static var _-1A:b2MassData = new b2MassData(); public static var _-8r:uint = 32; public static var _-8Q:uint = 1; public static var e_islandFlag:uint = 4; public static var _-6T:uint = 16; private static var _-8m:b2XForm = new b2XForm(); public static var _-4C:uint = 2; public function _-0F(_arg1:_-8u, _arg2:_-5Y){ var _local3:b2Mat22; var _local4:b2Vec2; m_xf = new b2XForm(); m_sweep = new b2Sweep(); _-R = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1._-8J){ m_flags = (m_flags | _-8r); }; if (_arg1._-68){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1._-5x){ m_flags = (m_flags | _-6T); }; if (_arg1._-74){ m_flags = (m_flags | _-0H); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1._-7I.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _-5b = null; _-7O = null; m_prev = null; m_next = null; _-0Z = _arg1._-5I; _-8Z = _arg1._-6r; m_force.Set(0, 0); m_torque = 0; _-R.SetZero(); m_angularVelocity = 0; _-4P = 0; _-4L = 0; _-5P = 0; _-1 = 0; m_mass = _arg1._-7I.mass; if (m_mass > 0){ _-4L = (1 / m_mass); }; if ((m_flags & _-0F.e_fixedRotationFlag) == 0){ _-5P = _arg1._-7I.I; }; if (_-5P > 0){ _-1 = (1 / _-5P); }; if ((((_-4L == 0)) && ((_-1 == 0)))){ m_type = _-8Q; } else { m_type = _-4C; }; m_userData = _arg1.userData; _-6Q = null; _-7Y = 0; } public function _-3N(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((_-R.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (_-R.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function _-j(_arg1:b2Vec2):void{ _-R.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(_-0H)); _-4P = 0; } public function _-1u():b2Vec2{ return (m_sweep.localCenter); } public function _-70(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function _-2G():Boolean{ return (((m_flags & _-2j) == _-2j)); } public function _-5t():Boolean{ return ((m_type == _-4C)); } public function _-0-():b2Vec2{ return (_-R); } public function _-3E():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function _-8O():Number{ return (_-5P); } public function IsSleeping():Boolean{ return (((m_flags & _-0H) == _-0H)); } public function _-6A():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; _-4L = 0; _-5P = 0; _-1 = 0; _local2 = 0; _local3 = 0; _local4 = _-1A; _local1 = _-6Q; 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)); _-5P = (_-5P + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ _-4L = (1 / m_mass); _local2 = (_local2 * _-4L); _local3 = (_local3 * _-4L); }; if ((((_-5P > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ _-5P = (_-5P - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); _-1 = (1 / _-5P); } else { _-5P = 0; _-1 = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = _-6Q; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; _local7 = m_type; if ((((_-4L == 0)) && ((_-1 == 0)))){ m_type = _-8Q; } else { m_type = _-4C; }; if (_local7 != m_type){ _local1 = _-6Q; while (_local1) { _local1.RefilterProxy(m_world._-6X, m_xf); _local1 = _local1.m_next; }; }; } public function _-2Y():void{ m_flags = (m_flags | _-0H); _-4P = 0; _-R.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function _-1S():b2JointEdge{ return (_-5b); } public function _-3-(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local4:b2Mat22; var _local5:b2Vec2; var _local6:Boolean; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (_-2G()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); _local4 = m_xf.R; _local5 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); _local6 = false; _local3 = _-6Q; while (_local3) { _local7 = _local3.Synchronize(m_world._-6X, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | _-2j); _-R.SetZero(); m_angularVelocity = 0; _local3 = _-6Q; while (_local3) { _local3.DestroyProxy(m_world._-6X); _local3 = _local3.m_next; }; return (false); }; m_world._-6X._-u(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function _-36(_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 var():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = _-8m; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); _local5 = true; _local4 = _-6Q; while (_local4) { _local5 = _local4.Synchronize(m_world._-6X, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | _-2j); _-R.SetZero(); m_angularVelocity = 0; _local4 = _-6Q; while (_local4) { _local4.DestroyProxy(m_world._-6X); _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 _-5z(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; _-R.x = (_-R.x + (_-4L * _arg1.x)); _-R.y = (_-R.y + (_-4L * _arg1.y)); m_angularVelocity = (m_angularVelocity + (_-1 * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetNext():_-0F{ return (m_next); } public function _-71():Number{ return (m_mass); } public function _-5V(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((_-R.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (_-R.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function _-23():Number{ return (m_angularVelocity); } public function _-3L(_arg1:Number):void{ m_angularVelocity = _arg1; } public function _-27(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; _-4L = 0; _-5P = 0; _-1 = 0; m_mass = _arg1.mass; if (m_mass > 0){ _-4L = (1 / m_mass); }; if ((m_flags & _-0F.e_fixedRotationFlag) == 0){ _-5P = _arg1.I; }; if (_-5P > 0){ _-1 = (1 / _-5P); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = _-6Q; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; _local5 = m_type; if ((((_-4L == 0)) && ((_-1 == 0)))){ m_type = _-8Q; } else { m_type = _-4C; }; if (_local5 != m_type){ _local2 = _-6Q; while (_local2) { _local2.RefilterProxy(m_world._-6X, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == _-8Q)); } public function _-6u(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function _-5W():b2Shape{ return (_-6Q); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; _-3E(); } public function _-8k(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | _-8r); } else { m_flags = (m_flags & ~(_-8r)); }; } public function _-8c(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = _-6Q; _-6Q = _local2; _-7Y++; _local2.m_body = this; _local2.CreateProxy(m_world._-6X, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function _-3b(_arg1:_-0F):Boolean{ var _local2:b2JointEdge; _local2 = _-5b; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function _-7L(_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world._-6X); _local2 = _-6Q; _local3 = null; _local4 = false; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { _-6Q = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; _-7Y--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function _-7J():Boolean{ return (((m_flags & _-8r) == _-8r)); } public function _-38():b2Vec2{ return (m_sweep.c); } public function _-1q(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | _-6T); } else { m_flags = (m_flags & ~(_-6T)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function _-v():_-5Y{ return (m_world); } public function _-1r():b2Vec2{ return (m_xf.position); } } }//package Box2D.Dynamics
Section 65
//_-0L (Box2D.Dynamics._-0L) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class _-0L { public function Add(_arg1:b2ContactPoint):void{ } public function _-7M(_arg1:b2ContactPoint):void{ } public function _-B(_arg1:b2ContactPoint):void{ } public function _-8t(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 66
//_-29 (Box2D.Dynamics._-29) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; public class _-29 { public function _-O(_arg1:b2Joint):void{ } public function _-3W(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 67
//_-3u (Box2D.Dynamics._-3u) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class _-3u { public function _-7Z(_arg1:_-0F):void{ if (_arg1.m_userData){ _arg1.m_userData.outBoundary = true; }; } } }//package Box2D.Dynamics
Section 68
//_-5Y (Box2D.Dynamics._-5Y) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class _-5Y { public var _-5:Number; public var _-X:_-3u; public var _-7O:b2Contact; public var m_blockAllocator; public var _-61:_-0L; public var _-6b:Boolean; public var _-6X:_-V; public var _-22:_-29; public var _-6H:int; public var _-6E:int; public var m_lock:Boolean; public var _-3Q:int; public var m_groundBody:_-0F; public var _-7e:int; public var _-88:b2DebugDraw; public var _-5O:_-81; public var _-17:_-0F; public var _-a; public var _-5b:b2Joint; public var _-1w:b2Vec2; public var _-6k:_-9-; private static var _-4r:b2Color = new b2Color(0, 0, 0); public static var include:Boolean; public static var _-8E:Boolean; private static var _-5J:b2Color = new b2Color(0.9, 0.6, 0.6); public static var _-4:Boolean; private static var _-6o:b2XForm = new b2XForm(); public function _-5Y(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:_-8u; _-6k = new _-9-(); super(); _-22 = null; _-X = null; _-5O = _-81._-0A; _-61 = null; _-88 = null; _-17 = null; _-7O = null; _-5b = null; _-6E = 0; _-7e = 0; _-6H = 0; _-4 = true; _-8E = true; include = true; _-6b = _arg3; _-1w = _arg2; m_lock = false; _-5 = 0; _-6k.m_world = this; _-6X = new _-V(_arg1, _-6k); _local4 = new _-8u(); m_groundBody = CreateBody(_local4); } public function _-7u(_arg1:b2Joint):void{ var _local2:_-0F; var _local3:_-0F; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = _-4r; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: _-88._-2O(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); _-88._-2O(_local12, _local8, _local10); _-88._-2O(_local13, _local9, _local10); _-88._-2O(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: break; }; } public function return(_arg1:b2Shape):void{ _arg1.RefilterProxy(_-6X, _arg1.m_body.m_xf); } public function _-0D(_arg1:b2DebugDraw):void{ _-88 = _arg1; } public function _-0R(_arg1:Boolean):void{ include = _arg1; } public function _-7t():int{ return (_-6X._-64); } public function _-7():void{ var _local1:uint; var _local2:int; var _local3:_-0F; var _local4:b2Shape; var _local5:b2Joint; var _local6:_-V; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; var _local15:Boolean; var _local16:uint; var _local17:_-6R; var _local18:_-6s; var _local19:_-6s; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:_-6s; var _local23:b2PolygonShape; var _local24:_-1F; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (_-88 == null){ return; }; _-88._-y.graphics.clear(); _local1 = _-88._-8W(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw._-1c)){ _local15 = ((_local1 & b2DebugDraw._-5m) == b2DebugDraw._-5m); _local3 = _-17; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3._-5W(); while (_local4) { if (_local3.IsStatic()){ _-3q(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ _-3q(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { _-3q(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.class)){ _local5 = _-5b; while (_local5) { _-7u(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw._-Y)){ _local6 = _-6X; _local7.Set((1 / _local6._-2R.x), (1 / _local6._-2R.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < _-6R._-08) { _local16 = _local6._-1G._-7F[_local2]; while (_local16 != _-6R._-D) { _local17 = _local6._-1G._-3J[_local16]; _local18 = _local6.try[_local17.proxyId1]; _local19 = _local6.try[_local17.proxyId2]; _local12._-6x.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local18.lowerBounds[0]].value)); _local12._-6x.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local18.lowerBounds[1]].value)); _local12._-0Q.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local18._-09[0]].value)); _local12._-0Q.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local18._-09[1]].value)); _local13._-6x.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local19.lowerBounds[0]].value)); _local13._-6x.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local19.lowerBounds[1]].value)); _local13._-0Q.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local19._-09[0]].value)); _local13._-0Q.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local19._-09[1]].value)); _local8.x = (0.5 * (_local12._-6x.x + _local12._-0Q.x)); _local8.y = (0.5 * (_local12._-6x.y + _local12._-0Q.y)); _local9.x = (0.5 * (_local13._-6x.x + _local13._-0Q.x)); _local9.y = (0.5 * (_local13._-6x.y + _local13._-0Q.y)); _-88._-2O(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw._-0b)){ _local6 = _-6X; _local20 = _local6.m_worldAABB._-6x; _local21 = _local6.m_worldAABB._-0Q; _local7.Set((1 / _local6._-2R.x), (1 / _local6._-2R.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.try[_local2]; if (_local22.IsValid() == false){ } else { _local12._-6x.x = (_local20.x + (_local7.x * _local6._-1K[0][_local22.lowerBounds[0]].value)); _local12._-6x.y = (_local20.y + (_local7.y * _local6._-1K[1][_local22.lowerBounds[1]].value)); _local12._-0Q.x = (_local20.x + (_local7.x * _local6._-1K[0][_local22._-09[0]].value)); _local12._-0Q.y = (_local20.y + (_local7.y * _local6._-1K[1][_local22._-09[1]].value)); _local14[0].Set(_local12._-6x.x, _local12._-6x.y); _local14[1].Set(_local12._-0Q.x, _local12._-6x.y); _local14[2].Set(_local12._-0Q.x, _local12._-0Q.y); _local14[3].Set(_local12._-6x.x, _local12._-0Q.y); _-88._-0y(_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); _-88._-0y(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw._-7X)){ _local10.Set(0.5, 0.3, 0.5); _local3 = _-17; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3._-5W(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24._-2h; _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++; }; _-88._-0y(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.set)){ _local3 = _-17; while (_local3) { _local11 = _-6o; _local11.R = _local3.m_xf.R; _local11.position = _local3._-38(); _-88._-l(_local11); _local3 = _local3.m_next; }; }; } public function _-5o(_arg1:_-0F):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1._-5b; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (_-22){ _-22._-O(_local4.joint); }; _-7s(_local4.joint); }; _local3 = _arg1._-6Q; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (_-22){ _-22._-3W(_local5); }; _local5.DestroyProxy(_-6X); 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 == _-17){ _-17 = _arg1.m_next; }; _-6E--; } public function _-4-(_arg1:_-81):void{ _-5O = _arg1; } public function GetGroundBody():_-0F{ return (m_groundBody); } public function _-2-():b2DebugDraw{ return (_-88); } public function _-3q(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; _local5 = _-5J; 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; _-88._-8z(_local7, _local8, _local9, _arg3); if (_arg4){ _-88._-5Z(_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++; }; _-88._-s(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; _-88._-0y(_local14, _local12, _local5); }; break; }; } public function _-3z():int{ return (_-7e); } public function Solve(_arg1:_-6C):void{ var _local2:_-0F; var _local3:_-8b; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:_-0F; var _local9:int; var _local10:int; var _local11:_-0F; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; _-3Q = 0; _local3 = new _-8b(_-6E, _-7e, _-6H, _-a, _-61); _local2 = _-17; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = _-7O; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = _-5b; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = _-6E; _local7 = new Array(_local6); _local8 = _-17; while (_local8) { if ((_local8.m_flags & ((_-0F.e_islandFlag | _-0F._-0H) | _-0F._-2j))){ } else { if (_local8.IsStatic()){ } else { _local3._-37(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | _-0F.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3._-1x(_local2); _local2.m_flags = (_local2.m_flags & ~(_-0F._-0H)); if (_local2.IsStatic()){ } else { _local12 = _local2._-7O; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.for(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & _-0F.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | _-0F.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2._-5b; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3._-7C(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & _-0F.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | _-0F.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, _-1w, _-4, _-6b); if (_local3._-3Q > _-3Q){ _-3Q = _local3._-3Q; }; _local10 = 0; while (_local10 < _local3._-6E) { _local2 = _local3._-8M[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = _-17; while (_local2) { if ((_local2.m_flags & (_-0F._-0H | _-0F._-2j))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.var(); if ((((_local14 == false)) && (!((_-X == null))))){ _-X._-7Z(_local2); }; }; }; _local2 = _local2.m_next; }; _-6X._-u(); } public function _-5v(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = _-6X._-7l(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function _-2w(_arg1:b2Vec2):void{ _-1w = _arg1; } public function _-3f(_arg1:_-6C):void{ var _local2:_-0F; var _local3:b2Shape; var _local4:b2Shape; var _local5:_-0F; var _local6:_-0F; var _local7:b2ContactEdge; var _local8:_-8b; var _local9:int; var _local10:Array; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:_-0F; var _local15:int; var _local16:_-6C; var _local17:int; var _local18:Number; var _local19:Number; var _local20:_-0F; var _local21:Boolean; _local8 = new _-8b(_-6E, b2Settings.b2_maxTOIContactsPerIsland, 0, _-a, _-61); _local9 = _-6E; _local10 = new Array(_local9); _local2 = _-17; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = _-7O; 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 = _-7O; 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 = _-1R.true(_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(_-61); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8._-37(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | _-0F.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8._-1x(_local2); _local2.m_flags = (_local2.m_flags & ~(_-0F._-0H)); if (_local2.IsStatic()){ } else { _local7 = _local2._-7O; while (_local7) { if (_local8._-7e == _local8._-6v){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.for(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & _-0F.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 | _-0F.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new _-6C(); _local16.function = ((1 - _local13) * _arg1.function); _local16._-3T = (1 / _local16.function); _local16._-45 = _arg1._-45; _local8._-3f(_local16); _local17 = 0; while (_local17 < _local8._-6E) { _local2 = _local8._-8M[_local17]; _local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag)); if ((_local2.m_flags & (_-0F._-0H | _-0F._-2j))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.var(); if ((((_local21 == false)) && (!((_-X == null))))){ _-X._-7Z(_local2); }; _local7 = _local2._-7O; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8._-7e) { _local11 = _local8._-p[_local17]; _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; _-6X._-u(); }; }; } public function _-1S():b2Joint{ return (_-5b); } public function _-0o():void{ _-6X._-0o(); } public function _-5N():b2Vec2{ return (_-1w); } public function _-8S():int{ return (_-6X._-1G._-7i); } public function _-3p():_-0F{ return (_-17); } public function _-2S(_arg1:Boolean):void{ _-8E = _arg1; } public function _-6F(_arg1:Boolean):void{ _-4 = _arg1; } public function _-1b(_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:_-0F; var _local4:b2Shape; _local2 = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = _-5b; if (_-5b){ _-5b.m_prev = _local2; }; _-5b = _local2; _-6H++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1._-5b; if (_local2.m_body1._-5b){ _local2.m_body1._-5b.prev = _local2.m_node1; }; _local2.m_body1._-5b = _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._-5b; if (_local2.m_body2._-5b){ _local2.m_body2._-5b.prev = _local2.m_node2; }; _local2.m_body2._-5b = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1._-7Y < _arg1.body2._-7Y)) ? _arg1.body1 : _arg1.body2; _local4 = _local3._-6Q; while (_local4) { _local4.RefilterProxy(_-6X, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function _-7s(_arg1:b2Joint):void{ var _local2:Boolean; var _local3:_-0F; var _local4:_-0F; var _local5:_-0F; var _local6:b2Shape; _local2 = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == _-5b){ _-5b = _arg1.m_next; }; _local3 = _arg1.m_body1; _local4 = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3._-5b){ _local3._-5b = _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._-5b){ _local4._-5b = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); _-6H--; if (_local2 == false){ _local5 = ((_local3._-7Y < _local4._-7Y)) ? _local3 : _local4; _local6 = _local5._-6Q; while (_local6) { _local6.RefilterProxy(_-6X, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function _-3S(_arg1:_-0L):void{ _-61 = _arg1; } public function CreateBody(_arg1:_-8u):_-0F{ var _local2:_-0F; if (m_lock == true){ return (null); }; _local2 = new _-0F(_arg1, this); _local2.m_prev = null; _local2.m_next = _-17; if (_-17){ _-17.m_prev = _local2; }; _-17 = _local2; _-6E++; return (_local2); } public function _-4J(_arg1:_-3u):void{ _-X = _arg1; } public function _-5g(_arg1:_-29):void{ _-22 = _arg1; } public function _-07(_arg1:Number, _arg2:int):void{ var _local3:_-6C; m_lock = true; _local3 = new _-6C(); _local3.function = _arg1; _local3._-45 = _arg2; if (_arg1 > 0){ _local3._-3T = (1 / _arg1); } else { _local3._-3T = 0; }; _local3._-0K = (_-5 * _arg1); _local3._-m = _-4; _local3._-7P = _-8E; _-6k._-1U(); if (_local3.function > 0){ Solve(_local3); }; if (((include) && ((_local3.function > 0)))){ _-3f(_local3); }; _-7(); _-5 = _local3._-3T; m_lock = false; } public function _-8N():int{ return (_-6E); } public function _-51():int{ return (_-6H); } } }//package Box2D.Dynamics
Section 69
//_-6C (Box2D.Dynamics._-6C) package Box2D.Dynamics { public class _-6C { public var _-7P:Boolean; public var _-m:Boolean; public var function:Number; public var _-45:int; public var _-0K:Number; public var _-3T:Number; } }//package Box2D.Dynamics
Section 70
//_-81 (Box2D.Dynamics._-81) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class _-81 { public static var _-0A:_-81 = new (_-81); ; public function _-03(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData; var _local4:b2FilterData; var _local5:Boolean; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 71
//_-8b (Box2D.Dynamics._-8b) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class _-8b { public var _-58:Array; public var _-n:_-0L; public var _-3Q:int; public var _-2V:int; public var _-8M:Array; public var _-3w:int; public var _-7e:int; public var _-p:Array; public var _-6v:int; public var _-6H:int; public var m_allocator; public var _-6E:int; private static var _-0V:b2ContactResult = new b2ContactResult(); public function _-8b(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:_-0L){ var _local6:int; super(); _-2V = _arg1; _-6v = _arg2; _-3w = _arg3; _-6E = 0; _-7e = 0; _-6H = 0; m_allocator = _arg4; _-n = _arg5; _-8M = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { _-8M[_local6] = null; _local6++; }; _-p = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { _-p[_local6] = null; _local6++; }; _-58 = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { _-58[_local6] = null; _local6++; }; _-3Q = 0; } public function _-1x(_arg1:_-0F):void{ var _local2 = _-6E++; _-8M[_local2] = _arg1; } public function _-7C(_arg1:b2Joint):void{ var _local2 = _-6H++; _-58[_local2] = _arg1; } public function _-5a(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:_-0F; var _local9:int; var _local10:Array; var _local11:int; var _local12:_-1v; var _local13:int; var _local14:_-62; var _local15:b2ContactConstraintPoint; if (_-n == null){ return; }; _local4 = 0; while (_local4 < _-7e) { _local5 = _-p[_local4]; _local6 = _arg1[_local4]; _local7 = _-0V; _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._-z); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id._-1V = _local14.id._-1V; _-n._-8t(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:_-6C, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:_-0F; var _local7:b2Joint; var _local8:b2ContactSolver; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < _-6E) { _local6 = _-8M[_local5]; if (_local6.IsStatic()){ } else { _local6._-R.x = (_local6._-R.x + (_arg1.function * (_arg2.x + (_local6._-4L * _local6.m_force.x)))); _local6._-R.y = (_local6._-R.y + (_arg1.function * (_arg2.y + (_local6._-4L * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.function * _local6._-1) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6._-R.Multiply(b2Math.b2Clamp((1 - (_arg1.function * _local6._-0Z)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.function * _local6._-8Z)), 0, 1)); if (_local6._-R.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6._-R.Normalize(); _local6._-R.x = (_local6._-R.x * b2Settings.b2_maxLinearVelocity); _local6._-R.y = (_local6._-R.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; _local8 = new b2ContactSolver(_arg1, _-p, _-7e, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < _-6H) { _local7 = _-58[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1._-45) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < _-6H) { _local7 = _-58[_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < _-6E) { _local6 = _-8M[_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.function * _local6._-R.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.function * _local6._-R.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.function * _local6.m_angularVelocity)); _local6._-3E(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < _-6H) { _local7 = _-58[_local5]; _local7.InitPositionConstraints(); _local5++; }; _-3Q = 0; while (_-3Q < _arg1._-45) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < _-6H) { _local7 = _-58[_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; _-3Q++; }; }; _-5a(_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < _-6E) { _local6 = _-8M[_local5]; if (_local6._-4L == 0){ } else { if ((_local6.m_flags & _-0F._-6T) == 0){ _local6._-4P = 0; _local13 = 0; }; if (((((((_local6.m_flags & _-0F._-6T) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6._-R, _local6._-R) > _local14)))){ _local6._-4P = 0; _local13 = 0; } else { _local6._-4P = (_local6._-4P + _arg1.function); _local13 = b2Math.b2Min(_local13, _local6._-4P); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < _-6E) { _local6 = _-8M[_local5]; _local6.m_flags = (_local6.m_flags | _-0F._-0H); _local6._-R.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function for(_arg1:b2Contact):void{ var _local2 = _-7e++; _-p[_local2] = _arg1; } public function _-37():void{ _-6E = 0; _-7e = 0; _-6H = 0; } public function _-3f(_arg1:_-6C):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:_-0F; var _local6:Boolean; _local3 = new b2ContactSolver(_arg1, _-p, _-7e, m_allocator); _local2 = 0; while (_local2 < _arg1._-45) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < _-6E) { _local5 = _-8M[_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.function * _local5._-R.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.function * _local5._-R.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.function * _local5.m_angularVelocity)); _local5._-3E(); }; _local2++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1._-45) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; _-5a(_local3.m_constraints); } } }//package Box2D.Dynamics
Section 72
//_-8u (Box2D.Dynamics._-8u) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class _-8u { public var _-74:Boolean; public var position:b2Vec2; public var _-8J:Boolean; public var _-5x:Boolean; public var userData; public var _-6r:Number; public var _-68:Boolean; public var angle:Number; public var _-5I:Number; public var _-7I:b2MassData; public function _-8u(){ _-7I = new b2MassData(); position = new b2Vec2(); super(); _-7I.center.SetZero(); _-7I.mass = 0; _-7I.I = 0; userData = null; position.Set(0, 0); angle = 0; _-5I = 0; _-6r = 0; _-5x = true; _-74 = false; _-68 = false; _-8J = false; } } }//package Box2D.Dynamics
Section 73
//_-9- (Box2D.Dynamics._-9-) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; public class _-9- extends _-4o { public var m_world:_-5Y; public var _-6I:Boolean; public var do:b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function _-9-(){ do = new b2NullContact(); super(); m_world = null; _-6I = false; } override public function _-5M(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:_-0F; var _local6:_-0F; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (do); }; if (_local3.m_body == _local4.m_body){ return (do); }; if (_local6._-3b(_local5)){ return (do); }; if (((!((m_world._-5O == null))) && ((m_world._-5O._-03(_local3, _local4) == false)))){ return (do); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (do); }; _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._-7O; if (m_world._-7O != null){ m_world._-7O.m_prev = _local7; }; m_world._-7O = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5._-7O; if (_local5._-7O != null){ _local5._-7O.prev = _local7.m_node1; }; _local5._-7O = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6._-7O; if (_local6._-7O != null){ _local6._-7O.prev = _local7.m_node2; }; _local6._-7O = _local7.m_node2; m_world._-7e++; return (_local7); } override public function switch(_arg1, _arg2, _arg3):void{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 == do){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:_-0F; var _local6:_-0F; var _local7:_-0F; var _local8:_-0F; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:_-1v; var _local13:int; var _local14:_-62; var _local15:b2Vec2; var _local16:b2Vec2; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world._-61))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape2; _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._-z); _local15 = _local7._-5V(_local14._-z); _local16 = _local8._-5V(_local14._-6a); _local10._-1Z.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id._-1V = _local14.id._key; m_world._-61._-7M(_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._-7O){ m_world._-7O = _arg1.m_next; }; _local5 = _local2.m_body; _local6 = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5._-7O){ _local5._-7O = _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._-7O){ _local6._-7O = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world._-7e--; } public function _-1U():void{ var _local1:b2Contact; var _local2:_-0F; var _local3:_-0F; _local1 = m_world._-7O; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world._-61); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 74
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Common.Math.*; import flash.display.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2DebugDraw { public var _-8x:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var _-P:Number;// = 1 public var _-4D:Number;// = 1 public var _-o:uint; public var _-y:Sprite; public var _-1W:Number;// = 1 public static var _-5m:uint = 4; public static var _-1c:uint = 1; public static var set:uint = 64; public static var _-0b:uint = 8; public static var _-7X:uint = 16; public static var _-Y:uint = 32; public static var class:uint = 2; public function b2DebugDraw(){ _-1W = 1; _-4D = 1; _-P = 1; m_fillAlpha = 1; _-8x = 1; super(); _-o = 0; } public function _-s(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; _-y.graphics.lineStyle(_-4D, _arg3.color, _-P); _-y.graphics.moveTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W)); _-y.graphics.beginFill(_arg3.color, m_fillAlpha); _local4 = 1; while (_local4 < _arg2) { _-y.graphics.lineTo((_arg1[_local4].x * _-1W), (_arg1[_local4].y * _-1W)); _local4++; }; _-y.graphics.lineTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W)); _-y.graphics.endFill(); } public function _-5Z(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ _-y.graphics.lineStyle(_-4D, _arg3.color, _-P); _-y.graphics.drawCircle((_arg1.x * _-1W), (_arg1.y * _-1W), (_arg2 * _-1W)); } public function _-l(_arg1:b2XForm):void{ _-y.graphics.lineStyle(_-4D, 0xFF0000, _-P); _-y.graphics.moveTo((_arg1.position.x * _-1W), (_arg1.position.y * _-1W)); _-y.graphics.lineTo(((_arg1.position.x + (_-8x * _arg1.R.col1.x)) * _-1W), ((_arg1.position.y + (_-8x * _arg1.R.col1.y)) * _-1W)); _-y.graphics.lineStyle(_-4D, 0xFF00, _-P); _-y.graphics.moveTo((_arg1.position.x * _-1W), (_arg1.position.y * _-1W)); _-y.graphics.lineTo(((_arg1.position.x + (_-8x * _arg1.R.col2.x)) * _-1W), ((_arg1.position.y + (_-8x * _arg1.R.col2.y)) * _-1W)); } public function _-4u(_arg1:uint):void{ _-o = (_-o & ~(_arg1)); } public function _-8z(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ _-y.graphics.lineStyle(_-4D, _arg4.color, _-P); _-y.graphics.moveTo(0, 0); _-y.graphics.beginFill(_arg4.color, m_fillAlpha); _-y.graphics.drawCircle((_arg1.x * _-1W), (_arg1.y * _-1W), (_arg2 * _-1W)); _-y.graphics.endFill(); _-y.graphics.moveTo((_arg1.x * _-1W), (_arg1.y * _-1W)); _-y.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * _-1W), ((_arg1.y + (_arg3.y * _arg2)) * _-1W)); } public function _-2r(_arg1:uint):void{ _-o = _arg1; } public function _-7h(_arg1:uint):void{ _-o = (_-o | _arg1); } public function _-2O(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ _-y.graphics.lineStyle(_-4D, _arg3.color, _-P); _-y.graphics.moveTo((_arg1.x * _-1W), (_arg1.y * _-1W)); _-y.graphics.lineTo((_arg2.x * _-1W), (_arg2.y * _-1W)); } public function _-8W():uint{ return (_-o); } public function _-0y(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; _-y.graphics.lineStyle(_-4D, _arg3.color, _-P); _-y.graphics.moveTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W)); _local4 = 1; while (_local4 < _arg2) { _-y.graphics.lineTo((_arg1[_local4].x * _-1W), (_arg1[_local4].y * _-1W)); _local4++; }; _-y.graphics.lineTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W)); } } }//package Box2D.Dynamics
Section 75
//BitString (com.adobe.images.BitString) package com.adobe.images { public class BitString { public var val:int;// = 0 public var len:int;// = 0 public function BitString(){ len = 0; val = 0; super(); } } }//package com.adobe.images
Section 76
//JPGEncoder (com.adobe.images.JPGEncoder) package com.adobe.images { import flash.display.*; import flash.utils.*; import flash.geom.*; public class JPGEncoder { private var fdtbl_UV:Array; private var std_ac_chrominance_values:Array; private var std_dc_chrominance_nrcodes:Array; private var std_dc_chrominance_values:Array; private var ZigZag:Array; private var YDC_HT:Array; private var bytenew:int;// = 0 private var fdtbl_Y:Array; private var YAC_HT:Array; private var std_ac_chrominance_nrcodes:Array; private var DU:Array; private var std_ac_luminance_values:Array; private var UVTable:Array; private var UDU:Array; private var YDU:Array; private var byteout:ByteArray; private var UVAC_HT:Array; private var UVDC_HT:Array; private var bytepos:int;// = 7 private var VDU:Array; private var std_ac_luminance_nrcodes:Array; private var std_dc_luminance_values:Array; private var YTable:Array; private var std_dc_luminance_nrcodes:Array; private var bitcode:Array; private var category:Array; public function JPGEncoder(_arg1:Number=50){ var _local2:int; ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63]; YTable = new Array(64); UVTable = new Array(64); fdtbl_Y = new Array(64); fdtbl_UV = new Array(64); std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]; std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125]; std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250]; std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0]; std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119]; std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250]; bitcode = new Array(0xFFFF); category = new Array(0xFFFF); bytenew = 0; bytepos = 7; DU = new Array(64); YDU = new Array(64); UDU = new Array(64); VDU = new Array(64); super(); if (_arg1 <= 0){ _arg1 = 1; }; if (_arg1 > 100){ _arg1 = 100; }; _local2 = 0; if (_arg1 < 50){ _local2 = int((5000 / _arg1)); } else { _local2 = int((200 - (_arg1 * 2))); }; initHuffmanTbl(); initCategoryNumber(); initQuantTables(_local2); } private function RGB2YUV(_arg1:BitmapData, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:uint; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = 0; _local5 = 0; while (_local5 < 8) { _local6 = 0; while (_local6 < 8) { _local7 = _arg1.getPixel32((_arg2 + _local6), (_arg3 + _local5)); _local8 = Number(((_local7 >> 16) & 0xFF)); _local9 = Number(((_local7 >> 8) & 0xFF)); _local10 = Number((_local7 & 0xFF)); YDU[_local4] = ((((0.299 * _local8) + (0.587 * _local9)) + (0.114 * _local10)) - 128); UDU[_local4] = (((-0.16874 * _local8) + (-0.33126 * _local9)) + (0.5 * _local10)); VDU[_local4] = (((0.5 * _local8) + (-0.41869 * _local9)) + (-0.08131 * _local10)); _local4++; _local6++; }; _local5++; }; } private function writeWord(_arg1:int):void{ writeByte(((_arg1 >> 8) & 0xFF)); writeByte((_arg1 & 0xFF)); } private function writeByte(_arg1:int):void{ byteout.writeByte(_arg1); } private function writeDHT():void{ var _local1:int; writeWord(65476); writeWord(418); writeByte(0); _local1 = 0; while (_local1 < 16) { writeByte(std_dc_luminance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 11) { writeByte(std_dc_luminance_values[_local1]); _local1++; }; writeByte(16); _local1 = 0; while (_local1 < 16) { writeByte(std_ac_luminance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 161) { writeByte(std_ac_luminance_values[_local1]); _local1++; }; writeByte(1); _local1 = 0; while (_local1 < 16) { writeByte(std_dc_chrominance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 11) { writeByte(std_dc_chrominance_values[_local1]); _local1++; }; writeByte(17); _local1 = 0; while (_local1 < 16) { writeByte(std_ac_chrominance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 161) { writeByte(std_ac_chrominance_values[_local1]); _local1++; }; } private function writeBits(_arg1:BitString):void{ var _local2:int; var _local3:int; _local2 = _arg1.val; _local3 = (_arg1.len - 1); while (_local3 >= 0) { if ((_local2 & uint((1 << _local3)))){ bytenew = (bytenew | uint((1 << bytepos))); }; _local3--; bytepos--; if (bytepos < 0){ if (bytenew == 0xFF){ writeByte(0xFF); writeByte(0); } else { writeByte(bytenew); }; bytepos = 7; bytenew = 0; }; }; } private function initHuffmanTbl():void{ YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values); UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values); YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values); UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values); } public function encode(_arg1:BitmapData):ByteArray{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; var _local7:BitString; byteout = new ByteArray(); bytenew = 0; bytepos = 7; writeWord(65496); writeAPP0(); writeDQT(); writeSOF0(_arg1.width, _arg1.height); writeDHT(); writeSOS(); _local2 = 0; _local3 = 0; _local4 = 0; bytenew = 0; bytepos = 7; _local5 = 0; while (_local5 < _arg1.height) { _local6 = 0; while (_local6 < _arg1.width) { RGB2YUV(_arg1, _local6, _local5); _local2 = processDU(YDU, fdtbl_Y, _local2, YDC_HT, YAC_HT); _local3 = processDU(UDU, fdtbl_UV, _local3, UVDC_HT, UVAC_HT); _local4 = processDU(VDU, fdtbl_UV, _local4, UVDC_HT, UVAC_HT); _local6 = (_local6 + 8); }; _local5 = (_local5 + 8); }; if (bytepos >= 0){ _local7 = new BitString(); _local7.len = (bytepos + 1); _local7.val = ((1 << (bytepos + 1)) - 1); writeBits(_local7); }; writeWord(65497); return (byteout); } private function initCategoryNumber():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; _local1 = 1; _local2 = 2; _local4 = 1; while (_local4 <= 15) { _local3 = _local1; while (_local3 < _local2) { category[(32767 + _local3)] = _local4; bitcode[(32767 + _local3)] = new BitString(); bitcode[(32767 + _local3)].len = _local4; bitcode[(32767 + _local3)].val = _local3; _local3++; }; _local3 = -((_local2 - 1)); while (_local3 <= -(_local1)) { category[(32767 + _local3)] = _local4; bitcode[(32767 + _local3)] = new BitString(); bitcode[(32767 + _local3)].len = _local4; bitcode[(32767 + _local3)].val = ((_local2 - 1) + _local3); _local3++; }; _local1 = (_local1 << 1); _local2 = (_local2 << 1); _local4++; }; } private function writeDQT():void{ var _local1:int; writeWord(65499); writeWord(132); writeByte(0); _local1 = 0; while (_local1 < 64) { writeByte(YTable[_local1]); _local1++; }; writeByte(1); _local1 = 0; while (_local1 < 64) { writeByte(UVTable[_local1]); _local1++; }; } private function writeAPP0():void{ writeWord(65504); writeWord(16); writeByte(74); writeByte(70); writeByte(73); writeByte(70); writeByte(0); writeByte(1); writeByte(1); writeByte(0); writeWord(1); writeWord(1); writeByte(0); writeByte(0); } private function writeSOS():void{ writeWord(65498); writeWord(12); writeByte(3); writeByte(1); writeByte(0); writeByte(2); writeByte(17); writeByte(3); writeByte(17); writeByte(0); writeByte(63); writeByte(0); } private function processDU(_arg1:Array, _arg2:Array, _arg3:Number, _arg4:Array, _arg5:Array):Number{ var _local6:BitString; var _local7:BitString; var _local8:int; var _local9:Array; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; _local6 = _arg5[0]; _local7 = _arg5[240]; _local9 = fDCTQuant(_arg1, _arg2); _local8 = 0; while (_local8 < 64) { DU[ZigZag[_local8]] = _local9[_local8]; _local8++; }; _local10 = (DU[0] - _arg3); _arg3 = DU[0]; if (_local10 == 0){ writeBits(_arg4[0]); } else { writeBits(_arg4[category[(32767 + _local10)]]); writeBits(bitcode[(32767 + _local10)]); }; _local11 = 63; while ((((_local11 > 0)) && ((DU[_local11] == 0)))) { _local11--; }; if (_local11 == 0){ writeBits(_local6); return (_arg3); }; _local8 = 1; while (_local8 <= _local11) { _local12 = _local8; while ((((DU[_local8] == 0)) && ((_local8 <= _local11)))) { _local8++; }; _local13 = (_local8 - _local12); if (_local13 >= 16){ _local14 = 1; while (_local14 <= (_local13 / 16)) { writeBits(_local7); _local14++; }; _local13 = int((_local13 & 15)); }; writeBits(_arg5[((_local13 * 16) + category[(32767 + DU[_local8])])]); writeBits(bitcode[(32767 + DU[_local8])]); _local8++; }; if (_local11 != 63){ writeBits(_local6); }; return (_arg3); } private function initQuantTables(_arg1:int):void{ var _local2:int; var _local3:Number; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; _local4 = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99]; _local2 = 0; while (_local2 < 64) { _local3 = Math.floor((((_local4[_local2] * _arg1) + 50) / 100)); if (_local3 < 1){ _local3 = 1; } else { if (_local3 > 0xFF){ _local3 = 0xFF; }; }; YTable[ZigZag[_local2]] = _local3; _local2++; }; _local5 = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99]; _local2 = 0; while (_local2 < 64) { _local3 = Math.floor((((_local5[_local2] * _arg1) + 50) / 100)); if (_local3 < 1){ _local3 = 1; } else { if (_local3 > 0xFF){ _local3 = 0xFF; }; }; UVTable[ZigZag[_local2]] = _local3; _local2++; }; _local6 = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379]; _local2 = 0; _local7 = 0; while (_local7 < 8) { _local8 = 0; while (_local8 < 8) { fdtbl_Y[_local2] = (1 / (((YTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8)); fdtbl_UV[_local2] = (1 / (((UVTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8)); _local2++; _local8++; }; _local7++; }; } private function writeSOF0(_arg1:int, _arg2:int):void{ writeWord(65472); writeWord(17); writeByte(8); writeWord(_arg2); writeWord(_arg1); writeByte(3); writeByte(1); writeByte(17); writeByte(0); writeByte(2); writeByte(17); writeByte(1); writeByte(3); writeByte(17); writeByte(1); } private function computeHuffmanTbl(_arg1:Array, _arg2:Array):Array{ var _local3:int; var _local4:int; var _local5:Array; var _local6:int; var _local7:int; _local3 = 0; _local4 = 0; _local5 = new Array(); _local6 = 1; while (_local6 <= 16) { _local7 = 1; while (_local7 <= _arg1[_local6]) { _local5[_arg2[_local4]] = new BitString(); _local5[_arg2[_local4]].val = _local3; _local5[_arg2[_local4]].len = _local6; _local4++; _local3++; _local7++; }; _local3 = (_local3 * 2); _local6++; }; return (_local5); } private function fDCTQuant(_arg1:Array, _arg2:Array):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:int; _local23 = 0; _local22 = 0; while (_local22 < 8) { _local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 7)]); _local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 7)]); _local4 = (_arg1[(_local23 + 1)] + _arg1[(_local23 + 6)]); _local9 = (_arg1[(_local23 + 1)] - _arg1[(_local23 + 6)]); _local5 = (_arg1[(_local23 + 2)] + _arg1[(_local23 + 5)]); _local8 = (_arg1[(_local23 + 2)] - _arg1[(_local23 + 5)]); _local6 = (_arg1[(_local23 + 3)] + _arg1[(_local23 + 4)]); _local7 = (_arg1[(_local23 + 3)] - _arg1[(_local23 + 4)]); _local11 = (_local3 + _local6); _local14 = (_local3 - _local6); _local12 = (_local4 + _local5); _local13 = (_local4 - _local5); _arg1[(_local23 + 0)] = (_local11 + _local12); _arg1[(_local23 + 4)] = (_local11 - _local12); _local15 = ((_local13 + _local14) * 0.707106781); _arg1[(_local23 + 2)] = (_local14 + _local15); _arg1[(_local23 + 6)] = (_local14 - _local15); _local11 = (_local7 + _local8); _local12 = (_local8 + _local9); _local13 = (_local9 + _local10); _local19 = ((_local11 - _local13) * 0.382683433); _local16 = ((0.5411961 * _local11) + _local19); _local18 = ((1.306562965 * _local13) + _local19); _local17 = (_local12 * 0.707106781); _local20 = (_local10 + _local17); _local21 = (_local10 - _local17); _arg1[(_local23 + 5)] = (_local21 + _local16); _arg1[(_local23 + 3)] = (_local21 - _local16); _arg1[(_local23 + 1)] = (_local20 + _local18); _arg1[(_local23 + 7)] = (_local20 - _local18); _local23 = (_local23 + 8); _local22++; }; _local23 = 0; _local22 = 0; while (_local22 < 8) { _local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 56)]); _local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 56)]); _local4 = (_arg1[(_local23 + 8)] + _arg1[(_local23 + 48)]); _local9 = (_arg1[(_local23 + 8)] - _arg1[(_local23 + 48)]); _local5 = (_arg1[(_local23 + 16)] + _arg1[(_local23 + 40)]); _local8 = (_arg1[(_local23 + 16)] - _arg1[(_local23 + 40)]); _local6 = (_arg1[(_local23 + 24)] + _arg1[(_local23 + 32)]); _local7 = (_arg1[(_local23 + 24)] - _arg1[(_local23 + 32)]); _local11 = (_local3 + _local6); _local14 = (_local3 - _local6); _local12 = (_local4 + _local5); _local13 = (_local4 - _local5); _arg1[(_local23 + 0)] = (_local11 + _local12); _arg1[(_local23 + 32)] = (_local11 - _local12); _local15 = ((_local13 + _local14) * 0.707106781); _arg1[(_local23 + 16)] = (_local14 + _local15); _arg1[(_local23 + 48)] = (_local14 - _local15); _local11 = (_local7 + _local8); _local12 = (_local8 + _local9); _local13 = (_local9 + _local10); _local19 = ((_local11 - _local13) * 0.382683433); _local16 = ((0.5411961 * _local11) + _local19); _local18 = ((1.306562965 * _local13) + _local19); _local17 = (_local12 * 0.707106781); _local20 = (_local10 + _local17); _local21 = (_local10 - _local17); _arg1[(_local23 + 40)] = (_local21 + _local16); _arg1[(_local23 + 24)] = (_local21 - _local16); _arg1[(_local23 + 8)] = (_local20 + _local18); _arg1[(_local23 + 56)] = (_local20 - _local18); _local23++; _local22++; }; _local22 = 0; while (_local22 < 64) { _arg1[_local22] = Math.round((_arg1[_local22] * _arg2[_local22])); _local22++; }; return (_arg1); } } }//package com.adobe.images
Section 77
//GameParamsEvent (com.gamezhero.api.as3.events.GameParamsEvent) package com.gamezhero.api.as3.events { import flash.events.*; public class GameParamsEvent extends Event { private var value_; public static const GAME_PARAMS_RECEIVED:String = "game_params_received"; public function GameParamsEvent(_arg1:String){ super(_arg1); } public function set value(_arg1):void{ value_ = _arg1; } override public function toString():String{ return (formatToString("GameParamsEvent")); } public function get value(){ return (value_); } } }//package com.gamezhero.api.as3.events
Section 78
//Background (com.gamezhero.api.as3.gui.Background) package com.gamezhero.api.as3.gui { import flash.display.*; public class Background extends MovieClip { private var _bg:MovieClip; private var _goal:MovieClip; public function Background(_arg1:MovieClip){ _goal = _arg1; _goal.addChild(this); ini(); iniEvents(); } private function iniEvents():void{ } private function getBg():MovieClip{ var _local1:MovieClip; _local1 = new MovieClip(); _local1.graphics.beginFill(0, 1); _local1.graphics.lineStyle(0, 0, 0); _local1.graphics.moveTo(0, 0); _local1.graphics.lineTo(1000, 0); _local1.graphics.lineTo(1000, 1000); _local1.graphics.lineTo(0, 1000); _local1.graphics.lineTo(0, 0); _local1.graphics.endFill(); return (_local1); } private function ini():void{ _bg = getBg(); this.addChild(_bg); } public function remove():void{ clearEvents(); _goal.removeChild(this); } public function update(_arg1:Number, _arg2:Number):void{ this.x = 0; this.y = 0; this.width = (_arg1 + 100); this.height = (_arg2 + 100); } private function clearEvents():void{ } } }//package com.gamezhero.api.as3.gui
Section 79
//Indicator (com.gamezhero.api.as3.gui.Indicator) package com.gamezhero.api.as3.gui { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; public class Indicator extends MovieClip { private var _timer:Timer; private var _indicator:MovieClip; private var _timer_2:Timer; private var _dalpha:Number; private var _current:Number;// = 0 private var _info_text:TextField; private var _arr:Array; private var _n:uint;// = 10 private var _goal:MovieClip; public function Indicator(_arg1:MovieClip){ _n = 10; _dalpha = (360 / _n); _arr = new Array(); _current = 0; super(); _goal = _arg1; _goal.addChild(this); ini(); iniEvents(); } public function createInfoText():void{ var _local1:TextFormat; var _local2:Number; var _local3:Number; _info_text = new TextField(); _local1 = new TextFormat(); _local1.color = 0xFFFFFF; _local1.size = 11; _local1.font = "Arial"; _info_text.defaultTextFormat = _local1; _info_text.autoSize = TextFieldAutoSize.CENTER; _indicator.addChild(_info_text); _local2 = 100; _local3 = 20; _local2 = _info_text.width; _local3 = _info_text.height; _info_text.x = (-(_local2) / 2); _info_text.y = -10; } private function getBorder():MovieClip{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:MovieClip; _local1 = 10; _local2 = 150; _local3 = 150; _local4 = new MovieClip(); _local4.graphics.beginFill(0x333333, 1); _local4.graphics.moveTo(_local1, 0); _local4.graphics.lineTo((_local2 - _local1), 0); _local4.graphics.curveTo(_local2, 0, _local2, _local1); _local4.graphics.lineTo(_local2, _local1); _local4.graphics.lineTo(_local2, (_local3 - _local1)); _local4.graphics.curveTo(_local2, _local3, (_local2 - _local1), _local3); _local4.graphics.lineTo((_local2 - _local1), _local3); _local4.graphics.lineTo(_local1, _local3); _local4.graphics.curveTo(0, _local3, 0, (_local3 - _local1)); _local4.graphics.lineTo(0, (_local3 - _local1)); _local4.graphics.lineTo(0, _local1); _local4.graphics.curveTo(0, 0, _local1, 0); _local4.graphics.lineTo(_local1, 0); _local4.graphics.endFill(); _indicator.addChild(_local4); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); return (_local4); } private function iniEvents():void{ _timer.addEventListener(TimerEvent.TIMER, updateIndicator); _timer.start(); _timer_2.addEventListener(TimerEvent.TIMER, updateCurrent); _timer_2.start(); } private function ini():void{ var _local1:uint; var _local2:MovieClip; this.visible = false; _timer = new Timer((1000 / 40), 0); _timer_2 = new Timer((1000 / 20), 0); _indicator = new MovieClip(); this.addChild(_indicator); getBorder(); _local1 = 0; while (_local1 < _n) { _local2 = getItem(); _local2.rotation = (_dalpha * _local1); _local2.alpha = 0.2; _arr.push(_local2); _local1++; }; createInfoText(); } public function setVal(_arg1:String):void{ _info_text.text = _arg1; } private function updateCurrent(_arg1:TimerEvent=null):void{ _current++; if (_current >= _arr.length){ _current = 0; }; _arr[_current].alpha = 1; _arg1.updateAfterEvent(); } public function setSize(_arg1:Number, _arg2:Number):void{ this.visible = true; this.width = _arg1; this.height = _arg2; } public function remove():void{ clearEvents(); _goal.removeChild(this); } private function getItem():MovieClip{ var _local1:MovieClip; _local1 = new MovieClip(); _local1.graphics.beginFill(0xFFFFFF, 1); _local1.graphics.lineStyle(0, 0, 0); _local1.graphics.moveTo(32.3, -5.7); _local1.graphics.curveTo(30, -3.3, 30, 0); _local1.graphics.curveTo(30, 3.3, 32.3, 5.6); _local1.graphics.curveTo(34.7, 8, 38.05, 8); _local1.graphics.lineTo(57, 8); _local1.graphics.curveTo(60.3, 8, 62.6, 5.6); _local1.graphics.curveTo(65, 3.3, 65, 0); _local1.graphics.curveTo(65, -3.3, 62.6, -5.7); _local1.graphics.curveTo(60.3, -8, 57, -8); _local1.graphics.lineTo(38.05, -8); _local1.graphics.curveTo(34.7, -8, 32.3, -5.7); _local1.graphics.endFill(); _indicator.addChild(_local1); return (_local1); } private function updateIndicator(_arg1:TimerEvent=null):void{ var _local2:uint; _local2 = 0; while (_local2 < _n) { _arr[_local2].alpha = (_arr[_local2].alpha - 0.07); if (_arr[_local2].alpha <= 0){ _arr[_local2].alpha = 0; }; _local2++; }; _arg1.updateAfterEvent(); } public function setPos(_arg1:Number, _arg2:Number):void{ this.visible = true; this.x = _arg1; this.y = _arg2; } public function update(_arg1:Number, _arg2:Number):void{ this.visible = true; this.x = (_arg1 / 2); this.y = (_arg2 / 2); } private function clearEvents():void{ _timer.removeEventListener(TimerEvent.TIMER, updateIndicator); _timer_2.removeEventListener(TimerEvent.TIMER, updateCurrent); } } }//package com.gamezhero.api.as3.gui
Section 80
//Watermark (com.gamezhero.api.as3.gui.Watermark) package com.gamezhero.api.as3.gui { import flash.display.*; public class Watermark extends Sprite { private var dat:Array; public function Watermark(){ dat = [{fill:[0xFFFFFF], origin:[146.4, 27.9], records:[[144.25, 27.9, 142.5, 26.85], [140.8, 25.8, 139.7, 23.8], [138.65, 21.85, 138.65, 19.1], [138.65, 16.5, 139.6, 14.45], [140.5, 12.35, 142.35, 11.2], [144.1, 10.05, 146.65, 10], [149, 10.05, 150.75, 11.15], [150.8, 11.15], [152.5, 12.25, 153.45, 14.25], [154.4, 16.1, 154.4, 18.7], [154.4, 21.35, 153.5, 23.35], [152.55, 25.5, 150.75, 26.7], [148.95, 27.85, 146.4, 27.9]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:"donut", origin:[146.65, 24.9], records:[[148.1, 24.85, 149.15, 24.2], [150.1, 23.45, 150.65, 22.2], [151.25, 20.9, 151.25, 19.1], [151.25, 16.05, 150.05, 14.5], [148.85, 13, 146.4, 13], [144.3, 13, 143.1, 14.4], [141.85, 15.8, 141.85, 18.7], [141.85, 21.7, 143.05, 23.3], [144.25, 24.85, 146.65, 24.9]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[119.8, 24.65], records:[[120.5, 24.5, 121.1, 24.35], [121.25, 24.25, 121.4, 24.35], [121.55, 24.35, 121.65, 24.5], [121.75, 24.65, 121.75, 24.8], [121.75, 25.45], [121.75, 26.15, 121.5, 26.65], [121.25, 27.2, 120.4, 27.55], [120.35, 27.55], [119.6, 27.75, 118.2, 27.75], [116.2, 27.75], [112.9, 27.75, 111.35, 25.9], [111.3, 25.9], [109.75, 23.95, 109.75, 20.4], [109.75, 17.45], [109.75, 16.75, 109.85, 15.95], [109.9, 15.1, 110.05, 14.35], [110.15, 13.55, 110.35, 12.95], [110.65, 11.6, 111.25, 11], [111.8, 10.25, 112.85, 10.25], [121.4, 10.25], [121.6, 10.25, 121.75, 10.4], [121.9, 10.55, 121.9, 10.75], [121.9, 11.65], [121.9, 12.3, 121.4, 12.75], [121.4, 12.8], [120.95, 13.25, 119.8, 13.25], [113.45, 13.25], [113.25, 14.1, 113.15, 15.15], [113.15, 15.2], [113, 16.25, 112.95, 17.25], [119.55, 17.25], [119.75, 17.25, 119.9, 17.4], [120.05, 17.55, 120.05, 17.75], [120.05, 18.45], [120.05, 19.15, 119.55, 19.65], [119.55, 19.7], [119.1, 20.1, 118.1, 20.1], [112.95, 20.1], [112.95, 20.8], [112.95, 22.3, 113.35, 23.25], [113.7, 24.05, 114.55, 24.4], [114.6, 24.4], [115.45, 24.8, 116.95, 24.75], [118.15, 24.75], [119.05, 24.75, 119.85, 24.65], [119.8, 24.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[136.4, 27.65], records:[[136.2, 27.65, 136, 27.7], [135.95, 27.7, 135.9, 27.7], [135.6, 27.7, 135.45, 27.7], [134.6, 27.7, 134.1, 27.35], [133.5, 26.95, 133.2, 26.2], [131.95, 23.2], [131.45, 22.1, 131.1, 21.55], [130.75, 21.05, 130.4, 20.9], [130.1, 20.75, 129.7, 20.75], [128.85, 20.7, 128.05, 20.6], [127.7, 20.55, 127.45, 20.5], [127.45, 27.15], [127.45, 27.35, 127.3, 27.5], [127.15, 27.65, 126.95, 27.65], [126.1, 27.65], [125.15, 27.65, 124.7, 27.15], [124.2, 26.7, 124.2, 25.75], [124.2, 11.35], [124.2, 11.2, 124.3, 11.05], [124.4, 10.9, 124.55, 10.9], [125.05, 10.75, 125.85, 10.55], [125.85, 10.5], [126.55, 10.35, 127.35, 10.25], [128.2, 10.15, 128.85, 10.15], [130.3, 10.15], [133, 10.15, 134.55, 11.45], [136.1, 12.75, 136.15, 15.1], [136.15, 15.15], [136.1, 16.55, 135.55, 17.55], [134.95, 18.55, 134, 19.15], [133.65, 19.35, 133.25, 19.5], [133.35, 19.6, 133.5, 19.75], [134.05, 20.25, 134.35, 20.9], [134.35, 20.85], [134.65, 21.45, 134.85, 21.95], [136.3, 25.5], [136.45, 25.75, 136.65, 26.15], [136.65, 26.2], [136.85, 26.45, 136.95, 26.6], [137.1, 26.75, 137.1, 26.95], [137.1, 27.1], [137.1, 27.25, 137, 27.4], [136.9, 27.55, 136.75, 27.6], [136.55, 27.65], [136.45, 27.65, 136.4, 27.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:"donut", origin:[132.95, 15.5], records:[[132.9, 14.5, 132.6, 13.95], [132.25, 13.45, 131.65, 13.3], [130.95, 13.05, 130.15, 13.05], [128.9, 13.05], [128.55, 13.05, 128.1, 13.15], [128.05, 13.15], [127.75, 13.2, 127.45, 13.25], [127.45, 17.65], [127.95, 17.7, 128.5, 17.75], [129.2, 17.8, 129.9, 17.8], [130.65, 17.8, 131.4, 17.6], [132.1, 17.35, 132.5, 16.8], [132.55, 16.8], [132.9, 16.3, 132.95, 15.5]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[95.75, 27.65], records:[[94.9, 27.65], [94.25, 27.65, 93.7, 27.15], [93.05, 26.7, 93, 25.6], [93, 10.75], [93, 10.55, 93.15, 10.4], [93.3, 10.25, 93.5, 10.25], [94.7, 10.25], [95.3, 10.25, 95.75, 10.7], [96.2, 11.05, 96.25, 11.8], [96.25, 17.05], [103.45, 17.05], [103.45, 10.75], [103.45, 10.55, 103.6, 10.4], [103.75, 10.25, 103.95, 10.25], [105, 10.25], [105.65, 10.25, 106.15, 10.7], [106.65, 11.1, 106.65, 11.85], [106.65, 27.15], [106.65, 27.35, 106.5, 27.5], [106.35, 27.65, 106.15, 27.65], [105.4, 27.65], [104.65, 27.65, 104.15, 27.15], [104.1, 27.1], [103.5, 26.6, 103.45, 25.6], [103.45, 20.1], [96.25, 20.1], [96.25, 27.15], [96.25, 27.35, 96.1, 27.5], [95.95, 27.65, 95.75, 27.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFF9900], origin:[78.2, 27.15], records:[[77.7, 26.65, 77.7, 25.95], [77.7, 25.3, 78, 24.6], [78, 24.65], [78.25, 23.95, 78.85, 23.05], [79.4, 22.2, 80.35, 21], [85, 15.1], [85.6, 14.35, 86, 13.65], [86.1, 13.45, 86.2, 13.25], [78.05, 13.25], [77.85, 13.25, 77.7, 13.1], [77.55, 12.95, 77.55, 12.75], [77.55, 12.3], [77.55, 11.3, 78.1, 10.8], [78.6, 10.25, 79.95, 10.25], [88.4, 10.25], [88.95, 10.25, 89.45, 10.75], [89.9, 11.15, 89.95, 11.9], [89.95, 11.95], [89.95, 12.8, 89.4, 13.95], [88.85, 14.95, 87.8, 16.3], [83.2, 22.2], [83.2, 22.25], [82.5, 23.05, 82, 23.9], [81.95, 23.9], [81.65, 24.3, 81.45, 24.65], [89.65, 24.65], [89.85, 24.65, 90, 24.8], [90.15, 24.95, 90.15, 25.15], [90.15, 26], [90.15, 26.75, 89.6, 27.2], [89.55, 27.2], [89.05, 27.65, 88.25, 27.65], [79.6, 27.65], [78.75, 27.65, 78.25, 27.2], [78.2, 27.15]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[73.85, 24.65], records:[[73.8, 24.65], [74.5, 24.5, 75.05, 24.35], [75.2, 24.25, 75.35, 24.35], [75.5, 24.35, 75.6, 24.5], [75.7, 24.65, 75.7, 24.8], [75.7, 25.45], [75.7, 26.1, 75.5, 26.6], [75.3, 27.15, 74.4, 27.55], [74.35, 27.55], [73.6, 27.75, 72.2, 27.75], [70.2, 27.75], [66.9, 27.75, 65.35, 25.9], [65.3, 25.9], [63.75, 23.95, 63.75, 20.4], [63.75, 17.45], [63.75, 16.75, 63.85, 15.95], [63.9, 15.1, 64.05, 14.35], [64.15, 13.55, 64.35, 12.95], [64.65, 11.6, 65.25, 11], [65.8, 10.25, 66.85, 10.25], [75.35, 10.25], [75.55, 10.25, 75.7, 10.4], [75.85, 10.55, 75.85, 10.75], [75.85, 11.65], [75.85, 12.3, 75.4, 12.75], [75, 13.25, 73.8, 13.25], [67.45, 13.25], [67.25, 14.1, 67.15, 15.15], [67.15, 15.2], [67, 16.25, 66.95, 17.25], [73.55, 17.25], [73.75, 17.25, 73.9, 17.4], [74.05, 17.55, 74.05, 17.75], [74.05, 18.45], [74.05, 19.15, 73.55, 19.65], [73.55, 19.7], [73.1, 20.1, 72.1, 20.1], [66.95, 20.1], [66.95, 20.8], [66.95, 22.3, 67.35, 23.25], [67.7, 24.05, 68.55, 24.4], [68.6, 24.4], [69.45, 24.8, 70.95, 24.75], [72.15, 24.75], [73.05, 24.75, 73.85, 24.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[45.65, 15.05], records:[[45.5, 15.95, 45.4, 16.95], [45.25, 18.8, 45.1, 20.65], [44.95, 22.5, 44.9, 24.15], [44.85, 25.85, 44.8, 27.2], [44.8, 27.35, 44.65, 27.5], [44.5, 27.65, 44.3, 27.65], [43.65, 27.65], [42.85, 27.65, 42.25, 27.05], [41.7, 26.5, 41.65, 25.45], [41.65, 25.4], [41.65, 23.65, 41.8, 21.65], [41.95, 19.6, 42.2, 17.6], [42.4, 15.6, 42.65, 13.8], [42.95, 12.05, 43.15, 10.7], [43.2, 10.5, 43.35, 10.4], [43.45, 10.25, 43.65, 10.25], [44.5, 10.25], [45.75, 10.25, 46.55, 10.9], [47.35, 11.5, 47.8, 12.5], [47.8, 12.45], [48.25, 13.3, 48.6, 14.25], [50.75, 20.65], [51, 21.45, 51.25, 22.3], [51.55, 21.4, 51.85, 20.6], [53.95, 14.75], [54.3, 13.8, 54.7, 12.95], [55.1, 12.05, 55.5, 11.45], [55.9, 10.8, 56.1, 10.5], [56.15, 10.35, 56.3, 10.3], [56.4, 10.25, 56.5, 10.25], [57.1, 10.25], [58.4, 10.25, 59.1, 11.3], [59.75, 12.15, 59.9, 13.8], [60.1, 15.9, 60.3, 18.2], [60.5, 20.55, 60.6, 22.9], [60.75, 25.2, 60.75, 27.15], [60.75, 27.35, 60.6, 27.5], [60.45, 27.65, 60.25, 27.65], [59.45, 27.65], [58.5, 27.65, 58, 27.1], [57.5, 26.6, 57.5, 25.4], [57.5, 24.6, 57.5, 23.45], [57.45, 22.2, 57.35, 20.9], [57.3, 19.5, 57.15, 18.1], [57.05, 16.7, 56.9, 15.5], [56.9, 15.3, 56.9, 15.15], [56.55, 15.95, 56.2, 17.1], [53.65, 24.45], [53.65, 24.4], [53.35, 25.25, 53, 26.05], [53.05, 26.05], [52.7, 26.8, 52.4, 27.4], [52.35, 27.5, 52.2, 27.6], [52.1, 27.65, 51.95, 27.65], [51.45, 27.65], [51.05, 27.65, 50.5, 27.35], [50.45, 27.3], [50, 26.95, 49.45, 25.9], [48.95, 24.9, 48.35, 22.95], [46.3, 16.75], [46.3, 16.8], [46, 15.95, 45.65, 15.1], [45.65, 15.05]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[36, 23.3], records:[[29.1, 23.3], [28.95, 23.75, 28.85, 24.3], [28.85, 24.25], [28.7, 25.05, 28.55, 25.8], [28.55, 25.85], [28.35, 26.55, 28.25, 27.25], [28.2, 27.4, 28.1, 27.55], [27.95, 27.65, 27.75, 27.65], [26.9, 27.65], [26.15, 27.65, 25.8, 27.25], [25.4, 26.9, 25.4, 26.1], [25.4, 25.35, 25.8, 23.8], [26.1, 22.3, 26.75, 20.4], [27.3, 18.55, 28.1, 16.65], [28.85, 14.7, 29.65, 13.1], [30.45, 11.45, 31.25, 10.45], [31.3, 10.35, 31.45, 10.3], [31.55, 10.25, 31.65, 10.25], [32.4, 10.25], [33.25, 10.25, 33.9, 10.85], [34.5, 11.3, 35.05, 12.4], [35.05, 12.35], [35.6, 13.3, 36.3, 15], [37, 16.6, 37.75, 18.65], [38.45, 20.65, 39.05, 22.85], [39.6, 25.05, 39.9, 27.1], [39.9, 27.2, 39.85, 27.35], [39.8, 27.5, 39.7, 27.6], [39.55, 27.65, 39.4, 27.65], [38.65, 27.65], [37.75, 27.65, 37.25, 27.25], [36.75, 26.85, 36.6, 26.1], [36.45, 25.25, 36.25, 24.35], [36.3, 24.4], [36.1, 23.8, 36, 23.3]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:"donut", origin:[29.9, 20.5], records:[[35.15, 20.5], [34.55, 18.6, 33.9, 16.9], [33.25, 15.3, 32.5, 13.8], [31.65, 15.35, 31.1, 16.95], [30.45, 18.6, 29.9, 20.5]], strokes:[null, "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[20.9, 20.55], records:[[20.9, 20.15, 20.85, 19.75], [20.85, 19.6, 20.9, 19.5], [20.95, 19.35, 21.1, 19.3], [21.2, 19.2, 21.35, 19.2], [22.35, 19.2], [23.1, 19.25, 23.5, 19.7], [23.55, 19.75], [23.95, 20.2, 23.95, 20.85], [23.95, 23.65], [24, 25.7, 22.6, 26.8], [22.55, 26.8], [21.25, 27.9, 18.4, 27.9], [16.1, 27.9, 14.2, 26.8], [12.35, 25.65, 11.2, 23.65], [10, 21.65, 10, 19], [10, 16.4, 11, 14.45], [12.05, 12.4, 14.05, 11.25], [16.05, 10.05, 18.95, 10], [20.4, 10, 21.45, 10.5], [21.5, 10.5], [22.6, 10.95, 23.2, 11.75], [23.8, 12.55, 23.8, 13.45], [23.8, 14.25], [23.8, 14.45, 23.65, 14.6], [23.5, 14.75, 23.3, 14.75], [23.2, 14.75], [23.1, 14.75, 23, 14.7], [22.85, 14.65, 22.8, 14.55], [22.35, 13.95, 21.35, 13.5], [20.3, 13.05, 18.65, 13], [17.2, 13, 16, 13.65], [14.75, 14.25, 14, 15.5], [13.2, 16.8, 13.2, 18.75], [13.2, 20.9, 14, 22.25], [14.7, 23.55, 16, 24.25], [17.25, 24.9, 18.8, 24.9], [19.7, 24.9, 20.2, 24.7], [20.25, 24.7], [20.6, 24.55, 20.8, 24.3], [20.95, 23.8, 20.95, 23.1], [20.95, 21.55], [20.95, 21.1, 20.9, 20.6], [20.9, 20.55]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}]; super(); ini(); } private function ini():void{ var _local1:String; var _local2:Graphics; var _local3:Number; var _local4:Object; var _local5:Array; var _local6:Array; var _local7:String; var _local8:Number; var _local9:Array; _local1 = null; _local2 = this.graphics; _local3 = 0; while (_local3 < dat.length) { _local4 = dat[_local3]; _local2.moveTo(_local4.origin[0], _local4.origin[1]); if ((((_local4.fill == -1)) || ((_local4.fill == "stroke")))){ if (_local1 != "stroke"){ _local2.endFill(); _local1 = _local4.fill; }; } else { if (_local4.fill != "donut"){ if (_local4.fill.length != 5){ _local2.beginFill.apply(_local2, _local4.fill); } else { _local2.beginGradientFill.apply(_local2, _local4.fill); }; _local1 = _local4.fill; }; }; _local5 = _local4.records; _local6 = _local4.strokes; _local7 = "-1"; if (_local6[0] == null){ _local2.lineStyle(); } else { _local2.lineStyle.apply(_local2, _local6[0]); }; _local8 = 0; while (_local8 < _local5.length) { _local7 = _local6[_local8]; if (_local7 != "-"){ if (_local7 == null){ _local2.lineStyle(); } else { _local2.lineStyle(_local7[0], _local7[1]); }; }; _local9 = _local5[_local8]; if (_local9.length == 4){ _local2.curveTo(_local9[0], _local9[1], _local9[2], _local9[3]); } else { _local2.lineTo(_local9[0], _local9[1]); }; _local8++; }; _local3++; }; _local2.endFill(); } } }//package com.gamezhero.api.as3.gui
Section 81
//URL (com.gamezhero.api.as3.utils.URL) package com.gamezhero.api.as3.utils { public class URL { private var _scheme:String; private var _host:String; private var _query:String; private var _path:String; private var _userinfo:String; private var _port:String; private var _fragment:String; private var _url:String; private static const PATTERN:RegExp = /^([A-Za-z0-9_+.]{1,8}:\/\/)?([!-~]+@)?([^\/?#:]*)(:[0-9]*)?(\/[^?#]*)?(\?[^#]*)?(\#.*)?/i; public function URL(_arg1:String):void{ var _local2:Array; super(); _local2 = _arg1.match(URL.PATTERN); _url = _local2[0]; _scheme = _local2[1]; _userinfo = _local2[2]; _host = _local2[3]; _port = _local2[4]; _path = _local2[5]; _query = _local2[6]; _fragment = _local2[7]; } public function get port():int{ return (((_port.length <= 0)) ? undefined : int(_port.substring(1, _port.length))); } public function get query():Object{ var _local1:Object; var _local2:String; var _local3:Array; var _local4:int; var _local5:Array; _local1 = {raw:undefined, parsed:undefined}; if (((_query) && ((_query.length > 0)))){ _local1.raw = _query; _local2 = _query.substring(1, _query.length); _local3 = _local2.split("&"); _local1.parsed = ((_local3.length > 0)) ? {} : undefined; _local4 = 0; while (_local4 < _local3.length) { _local5 = _local3[_local4].split("="); _local1.parsed[_local5[0]] = _local5[1]; _local4++; }; }; return (_local1); } public function get fragment():String{ return (((_fragment.length <= 0)) ? undefined : _fragment); } public function get scheme():String{ return (((_scheme.length <= 0)) ? undefined : _scheme.substring(0, (_scheme.length - 3))); } public function get host():String{ return (((_host.length <= 0)) ? undefined : _host); } public function get path():String{ return (((_path.length <= 0)) ? undefined : _path); } public function get url():String{ return (((_url.length <= 0)) ? undefined : _url); } public function get userinfo():Object{ var _local1:Object; var _local2:Array; _local1 = {user:undefined, pass:undefined}; if (_userinfo){ _local2 = _userinfo.substring(0, (_userinfo.length - 1)).split(":"); _local1.user = (_local2[0]) ? _local2[0] : _local1.user; _local1.pass = (_local2[1]) ? _local2[1] : _local1.pas; }; return (_local1); } } }//package com.gamezhero.api.as3.utils
Section 82
//GameParams (com.gamezhero.api.as3.GameParams) package com.gamezhero.api.as3 { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import com.gamezhero.api.as3.events.*; public class GameParams extends MovieClip { private var _obj_listener_gameparams:Object; private var _loader_gameparams:Loader; private var _send_name_connection_gameparams:String; private var _send_localconnection_gameparams:LocalConnection; private var _gamezhero_code_gameparams:Number; private var tries:uint;// = 2 private var _receive_localconnection_gameparams:LocalConnection; private var _recived_name_connection_gameparams:String; public function GameParams(){ _receive_localconnection_gameparams = new LocalConnection(); _send_localconnection_gameparams = new LocalConnection(); _loader_gameparams = new Loader(); _obj_listener_gameparams = new Object(); tries = 2; super(); _gamezhero_code_gameparams = new Date().getTime(); _recived_name_connection_gameparams = ("_recived_gamezhero_gameparams_" + _gamezhero_code_gameparams); _send_name_connection_gameparams = ("_send_gamezhero_gameparams_" + _gamezhero_code_gameparams); iniLocalConnectionsGameParams(); iniEvents(); loadGameParamsEngine(); } private function onErrorReciveGameParams(_arg1:SecurityErrorEvent=null):void{ receivedAction({error:4}); } private function getInfo():Object{ var _local1:Object; _local1 = new Object(); _local1["game_name"] = GamezheroGlobal.gameName; _local1["game_domain"] = GamezheroGlobal.getDomain(); return ((_local1 as Object)); } private function iniEvents():void{ _loader_gameparams.contentLoaderInfo.addEventListener(Event.INIT, gameParamsLoaderInit); _loader_gameparams.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, gameParamsLoaderError); _receive_localconnection_gameparams.addEventListener(StatusEvent.STATUS, onStatusReciveGameParams); _receive_localconnection_gameparams.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveGameParams); _send_localconnection_gameparams.addEventListener(StatusEvent.STATUS, onStatusSendGameParams); _send_localconnection_gameparams.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendGameParams); } private function onStatusReciveGameParams(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": receivedAction({error:5}); break; }; } private function checkGameParams(_arg1:TimerEvent=null):void{ _send_localconnection_gameparams.send(_send_name_connection_gameparams, "gameparamsIsOk", null); } private function gameParamsLoaderError(_arg1:Event=null):void{ tries--; if (tries == 0){ receivedAction({error:3}); } else { loadGameParamsEngine(); }; } private function loadGameParamsEngine():void{ var url:String; var request:URLRequest; url = (GamezheroGlobal.toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 103, 97, 109, 101, 112, 97, 114, 97, 109, 115, 47, 103, 97, 109, 101, 112, 97, 114, 97, 109, 115, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + String(_gamezhero_code_gameparams)); request = new URLRequest(url); try { _loader_gameparams.load(request); } catch(e:Error) { receivedAction({error:2}); }; } private function onErrorSendGameParams(_arg1:SecurityErrorEvent=null):void{ receivedAction({}); } private function gameParamsLoaderInit(_arg1:Event=null):void{ var _local2:Timer; _local2 = new Timer(200, 1); _local2.addEventListener(TimerEvent.TIMER, checkGameParams); _local2.start(); } private function iniLocalConnectionsGameParams():void{ var dom:String; _obj_listener_gameparams = new Object(); _obj_listener_gameparams.gameparamsOk = function ():void{ _send_localconnection_gameparams.send(_send_name_connection_gameparams, "getParams", getInfo()); }; _obj_listener_gameparams.iniParams = function (_arg1:Object):void{ receivedAction(_arg1); }; dom = GamezheroGlobal.toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]); _receive_localconnection_gameparams.allowInsecureDomain(dom); _receive_localconnection_gameparams.allowDomain(dom); _receive_localconnection_gameparams.client = _obj_listener_gameparams; try { _receive_localconnection_gameparams.connect(_recived_name_connection_gameparams); } catch(e:Error) { receivedAction({error:1}); }; _send_localconnection_gameparams.allowInsecureDomain(dom); _send_localconnection_gameparams.allowDomain(dom); } private function receivedAction(_arg1:Object):void{ var _local2:GameParamsEvent; _local2 = new GameParamsEvent(GameParamsEvent.GAME_PARAMS_RECEIVED); _local2.value = _arg1; this.dispatchEvent(_local2); clearEvents(); } private function clearEvents():void{ _loader_gameparams.contentLoaderInfo.removeEventListener(Event.INIT, gameParamsLoaderInit); _loader_gameparams.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, gameParamsLoaderError); _receive_localconnection_gameparams.removeEventListener(StatusEvent.STATUS, onStatusReciveGameParams); _receive_localconnection_gameparams.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveGameParams); _send_localconnection_gameparams.removeEventListener(StatusEvent.STATUS, onStatusSendGameParams); _send_localconnection_gameparams.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendGameParams); } private function onStatusSendGameParams(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": receivedAction({error:6}); break; }; } } }//package com.gamezhero.api.as3
Section 83
//GamePreloader (com.gamezhero.api.as3.GamePreloader) package com.gamezhero.api.as3 { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import com.gamezhero.api.as3.gui.*; import com.google.analytics.*; import flash.ui.*; public class GamePreloader extends MovieClip { private var _obj_listener_preloader:Object; private var progress:Number;// = 0 private var _scale_old:String; private var _obj:Object; private var _timer:Timer; private var _loader_preloader_skin:Loader; private var _send_localconnection_preloader:LocalConnection; private var _align_old:String; private var _in_target:String; private var _in_url:String;// = "null" private var _indicator:Indicator; private var _bg:Background; private var _error_flag:Boolean;// = false private var _amount_try:uint;// = 10 private var _quality_old:String; private var _gamezhero_code_preloader:Number; private var _recive_localconnection_preloader:LocalConnection; private var _debug_flag:Boolean;// = false private var tries:uint;// = 2 private var _rate_old:Number; private var _send_name_connection_preloader:String; private var _recived_name_connection_preloader:String; private var _preloader_active_flag:Boolean;// = false private var _urls:Dictionary; private var _par:MovieClip; private var _tracker:GATracker; public static const FINISH:String = "PRELOAD_COMPLETE"; public function GamePreloader(_arg1:MovieClip, _arg2:Object=null){ var par = _arg1; var iniObject = _arg2; _timer = new Timer((1000 / 10), 0); _error_flag = false; _preloader_active_flag = false; _in_url = "null"; _obj = new Object(); _urls = new Dictionary(); _debug_flag = false; _amount_try = 10; _recive_localconnection_preloader = new LocalConnection(); _send_localconnection_preloader = new LocalConnection(); _loader_preloader_skin = new Loader(); _obj_listener_preloader = new Object(); tries = 2; progress = 0; super(); _par = par; _par.addChild(this); if (iniObject != null){ _obj = iniObject; }; try { _debug_flag = _obj["debug"]; } catch(e:Error) { _debug_flag = false; }; _bg = new Background(this); _indicator = new Indicator(this); _gamezhero_code_preloader = new Date().getTime(); _recived_name_connection_preloader = ("_recived_gamezhero_preloader_" + _gamezhero_code_preloader); _send_name_connection_preloader = ("_send_gamezhero_preloader_" + _gamezhero_code_preloader); iniLocalConnectionsPreloader(); iniEvents(); iniStage(); iniGoogleAnalitics(); } private function beginScenario2():void{ _error_flag = true; clearTimers(); _timer.addEventListener(TimerEvent.TIMER, updatePreloader2); _timer.start(); } private function resizeAction(_arg1:Event=null):void{ var obj:Object; var event = _arg1; obj = new Object(); try { obj.width = stage.stageWidth; obj.height = stage.stageHeight; } catch(e:Error) { obj.width = 550; obj.height = 400; }; if ((((_error_flag == false)) && ((_preloader_active_flag == true)))){ try { _send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([117, 112, 100, 97, 116, 101, 80, 111, 115]), obj); } catch(e:Error) { beginScenario2(); }; }; _indicator.update(obj.width, obj.height); _bg.update(obj.width, obj.height); } private function iniEvents():void{ _par.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _par.loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressAction); _loader_preloader_skin.contentLoaderInfo.addEventListener(Event.INIT, preloaderLoaderInit); _loader_preloader_skin.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, preloaderLoaderError); _recive_localconnection_preloader.addEventListener(StatusEvent.STATUS, onStatusRecivePreloader); _recive_localconnection_preloader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorRecivePreloader); _send_localconnection_preloader.addEventListener(StatusEvent.STATUS, onStatusSendPreloader); _send_localconnection_preloader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendPreloader); } private function updatePreloader2(_arg1:TimerEvent=null):void{ var proc:Number; var obj:Object; var event = _arg1; iniStageSettings(); proc = progress; if ((((proc >= 1)) && (!((_par.totalFrames == _par.framesLoaded))))){ proc = 0.99; }; _indicator.setVal((Math.round((proc * 100)) + " %")); if (proc >= 1){ action(); }; obj = new Object(); try { obj.width = stage.stageWidth; obj.height = stage.stageHeight; } catch(e:Error) { obj.width = 550; obj.height = 400; }; event.updateAfterEvent(); } private function updatePreloader1(_arg1:TimerEvent=null):void{ var proc:Number; var obj:Object; var event = _arg1; iniStageSettings(); _indicator.setVal("Loading..."); proc = progress; if ((((proc >= 1)) && (!((_par.totalFrames == _par.framesLoaded))))){ proc = 0.99; }; obj = new Object(); try { obj.width = stage.stageWidth; obj.height = stage.stageHeight; } catch(e:Error) { obj.width = 550; obj.height = 400; }; obj.loaded = proc; _send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([117, 112, 100, 97, 116, 101, 80, 114, 101, 108, 111, 97, 100, 101, 114]), obj); event.updateAfterEvent(); } private function onStatusRecivePreloader(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": beginScenario2(); break; }; } public function action(_arg1:Event=null):void{ clearTimers(); _timer.addEventListener(TimerEvent.TIMER, actionDone); _timer.start(); } private function checkPreloader(_arg1:TimerEvent=null):void{ _send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([112, 114, 101, 108, 111, 97, 100, 101, 114, 73, 115, 79, 107]), null); } private function onErrorRecivePreloader(_arg1:SecurityErrorEvent=null):void{ beginScenario2(); } private function ioErrorHandler(_arg1:IOErrorEvent=null):void{ beginScenario2(); } private function clearTimers():void{ _timer.removeEventListener(TimerEvent.TIMER, updatePreloader1); _timer.removeEventListener(TimerEvent.TIMER, updatePreloader2); _timer.removeEventListener(TimerEvent.TIMER, actionDone); } private function preloaderLoaderComplete(_arg1:Event=null):void{ } private function onStatusSendPreloader(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": beginScenario2(); break; }; } private function iniGoogleAnalitics():void{ try { _tracker = new GATracker(this, "UA-262190-1", "AS3", false); _tracker.trackEvent("preloader", "loading", GamezheroGlobal.gameName); } catch(e:Error) { }; } private function progressAction(_arg1:ProgressEvent=null):void{ var event = _arg1; try { progress = (event.bytesLoaded / event.bytesTotal); } catch(e:Error) { progress = 0; }; } private function preloaderLoaderInit(_arg1:Event=null):void{ var _local2:Timer; _local2 = new Timer(200, 1); _local2.addEventListener(TimerEvent.TIMER, checkPreloader); _local2.start(); } private function onErrorSendPreloader(_arg1:SecurityErrorEvent=null):void{ beginScenario2(); } private function actionDone(_arg1:TimerEvent=null):void{ var _local2:Event; this.alpha = (this.alpha - 1); if (this.alpha <= 1){ this.alpha = 0; clearEvents(); clearStageEvents(); clearTimers(); setStageSettings(); _local2 = new Event(FINISH); this.dispatchEvent(_local2); _indicator.remove(); _bg.remove(); _par.removeChild(this); }; _arg1.updateAfterEvent(); } private function iniContextMenu():void{ var _local1:String; var _local2:String; var _local3:ContextMenu; var _local4:ContextMenuBuiltInItems; var _local5:String; var _local6:ContextMenuItem; _local1 = GamezheroGlobal.getDomain(_par.stage); _local2 = GamezheroGlobal.gameName; _obj.gamezhero_url = (((("http://www.gamezhero.com/?utm_campaign=" + _local2) + "&utm_source=") + _local1) + "&utm_medium=preloader"); _obj.gamezhero_menu = {Free Online Games @ Gamezhero.com:(((("http://www.gamezhero.com/?utm_campaign=" + _local2) + "&utm_source=") + _local1) + "&utm_medium=context_menu"), Send To Friends:(((((("http://www.gamezhero.com/sendtofriends/" + _local2) + "-onlinegames.html?utm_campaign=") + _local2) + "&utm_source=") + _local1) + "&utm_medium=send_to_friends_context_menu"), Put This Game To Your Blog or Site:(((((("http://www.gamezhero.com/freewebsitegames/" + _local2) + "-onlinegames.html?utm_campaign=") + _local2) + "&utm_source=") + _local1) + "&utm_medium=free_web_site_games_context")}; _local3 = new ContextMenu(); _local3.hideBuiltInItems(); _local4 = _local3.builtInItems; _local4.quality = true; _local4.print = true; for (_local5 in _obj.gamezhero_menu) { _local6 = new ContextMenuItem(_local5); _urls[_local6] = _obj.gamezhero_menu[_local5]; _local6.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, getURLContextMenu); _local3.customItems.push(_local6); }; this.parent.contextMenu = _local3; } private function getInfo():Object{ var _local1:UserInfo; _local1 = new UserInfo(_par); return ((_local1 as Object)); } private function clearStageEvents():void{ try { stage.removeEventListener(Event.RESIZE, resizeAction); } catch(e:Error) { }; } private function iniStageEvents():void{ stage.addEventListener(Event.RESIZE, resizeAction); resizeAction(); } private function preloaderLoaderError(_arg1:Event=null):void{ var IOErrorEvent = _arg1; tries--; try { _tracker.trackEvent("preloader", ("loading_error_" + (2 - tries)), GamezheroGlobal.gameName); } catch(e:Error) { }; if (tries <= 0){ beginScenario2(); } else { loadPreloaderSkin(); }; } private function moveAction(_arg1:MouseEvent=null):void{ } private function gotoAction(_arg1:MouseEvent=null):void{ if (_in_url != "null"){ GamezheroGlobal.getURL(_in_url, _in_target); _in_url = "null"; }; } private function iniLocalConnectionsPreloader():void{ var dom:String; _obj_listener_preloader = new Object(); _obj_listener_preloader.preloaderOk = function ():void{ _send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([105, 110, 105, 80, 114, 101, 108, 111, 97, 100, 101, 114]), getInfo()); beginScenario1(); }; _obj_listener_preloader.preloaderGetUrlAction = function (_arg1:String, _arg2:String):void{ var url = _arg1; var target = _arg2; try { _tracker.trackEvent("preloader", "click", GamezheroGlobal.gameName); } catch(e:Error) { }; gotoActionIni(url, target); }; _obj_listener_preloader.finishAction = function (_arg1:Object):void{ action(); }; dom = GamezheroGlobal.toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]); _recive_localconnection_preloader.allowInsecureDomain(dom); _recive_localconnection_preloader.allowDomain(dom); _recive_localconnection_preloader.client = _obj_listener_preloader; try { _recive_localconnection_preloader.connect(_recived_name_connection_preloader); } catch(e:Error) { beginScenario2(); }; _send_localconnection_preloader.allowInsecureDomain(dom); _send_localconnection_preloader.allowDomain(dom); } private function iniStage(_arg1:Event=null):void{ var event = _arg1; this.removeEventListener(Event.ENTER_FRAME, iniStage); try { getStageSettings(); iniStageSettings(); iniContextMenu(); iniStageEvents(); if (_debug_flag == false){ loadPreloaderSkin(); } else { beginScenario2(); }; } catch(e:Error) { _amount_try--; if (_amount_try <= 0){ beginScenario2(); } else { this.addEventListener(Event.ENTER_FRAME, iniStage); }; }; } private function getStageSettings():void{ _scale_old = stage.scaleMode; _align_old = stage.align; _rate_old = stage.frameRate; _quality_old = stage.quality; } private function gotoActionIni(_arg1:String, _arg2:String):void{ _in_url = _arg1; _in_target = _arg2; gotoAction(); } private function getURLContextMenu(_arg1:ContextMenuEvent=null):void{ GamezheroGlobal.getURL(_urls[_arg1.target], "_blank"); } private function iniStageSettings():void{ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = 20; stage.quality = StageQuality.HIGH; } private function clearEvents():void{ _par.loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _par.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressAction); this.removeEventListener(Event.ENTER_FRAME, iniStage); _loader_preloader_skin.contentLoaderInfo.removeEventListener(Event.INIT, preloaderLoaderInit); _loader_preloader_skin.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, preloaderLoaderError); _recive_localconnection_preloader.removeEventListener(StatusEvent.STATUS, onStatusRecivePreloader); _recive_localconnection_preloader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorRecivePreloader); _recive_localconnection_preloader.client = {}; _recive_localconnection_preloader.close(); _recive_localconnection_preloader = new LocalConnection(); _send_localconnection_preloader.removeEventListener(StatusEvent.STATUS, onStatusSendPreloader); _send_localconnection_preloader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendPreloader); _send_localconnection_preloader = new LocalConnection(); } private function loadPreloaderSkin():void{ var url:String; var request:URLRequest; url = (GamezheroGlobal.toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 112, 114, 101, 108, 111, 97, 100, 101, 114, 47, 112, 114, 101, 108, 111, 97, 100, 101, 114, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + String(_gamezhero_code_preloader)); request = new URLRequest(url); try { _loader_preloader_skin.load(request); addChild(_loader_preloader_skin); } catch(e:Error) { beginScenario2(); }; } private function beginScenario1():void{ _preloader_active_flag = true; clearTimers(); _timer.addEventListener(TimerEvent.TIMER, updatePreloader1); _timer.start(); resizeAction(); } private function setStageSettings():void{ stage.scaleMode = _scale_old; stage.align = _align_old; stage.frameRate = _rate_old; stage.quality = _quality_old; } } }//package com.gamezhero.api.as3
Section 84
//GamezheroApi (com.gamezhero.api.as3.GamezheroApi) package com.gamezhero.api.as3 { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import com.gamezhero.api.as3.gui.*; import flash.system.*; import com.adobe.images.*; import flash.geom.*; import com.gamezhero.api.as3.events.*; import flash.printing.*; import flash.filters.*; public class GamezheroApi { private static var _score_continue_function:Function; private static var params:Object = new Object(); private static var _preloader_goal:MovieClip; private static var _preloader_next_step_function:Function; private static var _score_error_function:Function; private static var _score_submit_function:Function; private static var _score_goal:MovieClip; public static function linkZorroLogo():void{ if (!params["logo"]){ GamezheroGlobal.getURL((((("http://www.gamezhero.com/?utm_campaign=" + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=zorro_logo"), "_blank"); } else { GamezheroGlobal.getURL(params["logo"], "_blank"); }; } public static function score(_arg1:MovieClip, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Function, _arg7:Function, _arg8:Function, _arg9:Object=null):void{ var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Object; var _local14:SubmitArea; GamezheroGlobal.gameCode = _arg2; _score_goal = (_arg1 as MovieClip); _score_submit_function = _arg6; _score_continue_function = _arg7; _score_error_function = _arg8; if (GamezheroGlobal.gameName == "unset"){ } else { _local10 = _arg3; _local11 = _arg4; _local12 = _arg5; _local13 = _arg9; if (_local13 == null){ _local13 = {border:{width:4, color:0xFFFFFF, alpha:100}, background:{topColor:0x999999, bottomColor:0x666666, topAlpha:100, bottomAlpha:100, cornerRadius:10}, language:"ENG"}; }; _local14 = new SubmitArea(_score_goal, _local11, _local12, _local10, _local13); _local14.addEventListener(SubmitArea.SUBMITED, scoreSubmitAction); _local14.addEventListener(SubmitArea.CONTINUE, scoreContinueAction); _local14.addEventListener(SubmitArea.ERROR, scoreErrorAction); }; } public static function linkTopScore():void{ if (!params["top_score"]){ GamezheroGlobal.getURL((((((("http://www.gamezhero.com/topscore/" + GamezheroGlobal.gameName) + "/top100.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=submit_score"), "_blank"); } else { GamezheroGlobal.getURL(params["top_score"], "_blank"); }; } private static function gameParamsReceived(_arg1:GameParamsEvent=null):void{ var _local2:Object; var _local3:String; _local2 = (_arg1.value as Object); for (_local3 in _local2) { params[_local3] = _local2[_local3]; }; } private static function scoreSubmitAction(_arg1:Event=null):void{ _score_submit_function.apply(); } public static function linkMoreGames():void{ if (!params["more_games"]){ GamezheroGlobal.getURL((((("http://www.gamezhero.com/?utm_campaign=" + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=more_free_games"), "_blank"); } else { GamezheroGlobal.getURL(params["more_games"], "_blank"); }; } public static function ini(_arg1:String):void{ var _local2:GameParams; Security.allowDomain("www.gamezhero.com", "gamezhero.com", "files.gamezhero.com", "data.gamezhero.com", "*.gamezhero.com"); Security.allowInsecureDomain("www.gamezhero.com", "gamezhero.com", "files.gamezhero.com", "data.gamezhero.com", "*.gamezhero.com"); GamezheroGlobal.gameName = _arg1; _local2 = new GameParams(); _local2.addEventListener(GameParamsEvent.GAME_PARAMS_RECEIVED, gameParamsReceived); } public static function linkTwitter():void{ if (!params["twitter"]){ GamezheroGlobal.getURL("http://twitter.com/gamezhero", "_blank"); } else { GamezheroGlobal.getURL(params["twitter"], "_blank"); }; } public static function createScreenShot(_arg1:MovieClip, _arg2:Number=-1, _arg3:Number=-1):void{ var _local4:String; var _local5:Rectangle; var _local6:Number; var _local7:Number; var _local8:BitmapData; var _local9:Number; var _local10:Matrix; var _local11:Watermark; var _local12:JPGEncoder; var _local13:ByteArray; var _local14:URLRequestHeader; var _local15:URLRequest; if (!params["screen_shot"]){ _local4 = (((((("http://www.gamezhero.com/gallery/" + GamezheroGlobal.gameName) + "/add.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=top_score"); } else { _local4 = params["screen_shot"]; }; if (_arg2 <= 0){ _arg2 = Capabilities.screenResolutionX; }; if (_arg3 <= 0){ _arg3 = Capabilities.screenResolutionY; }; _local5 = _arg1.getRect(_arg1); _local6 = _local5.x; _local7 = _local5.y; _local8 = new BitmapData(_arg2, _arg3); _local9 = Math.max((_arg2 / _arg1.width), (_arg3 / _arg1.height)); _local10 = new Matrix(); _local10.scale(_local9, _local9); _local10.ty = ((-(((_arg1.height * _local9) - _arg3)) / 2) - (_local7 * _local9)); _local10.tx = ((-(((_arg1.width * _local9) - _arg2)) / 2) - (_local6 * _local9)); _local11 = new Watermark(); _local11.width = (Math.max((_arg1.width - (((_arg1.width * _local9) - _arg2) / _local9)), (_arg1.height - (((_arg1.height * _local9) - _arg3) / _local9))) * 0.1); _local11.scaleY = _local11.scaleX; _local11.filters = [new GlowFilter(0, 0.5, 2, 2)]; _arg1.addChild(_local11); _local11.x = (-(_local10.tx) / _local9); _local11.y = (-(_local10.ty) / _local9); _local8.draw(_arg1, _local10); _arg1.removeChild(_local11); _local12 = new JPGEncoder(85); _local13 = _local12.encode(_local8); _local14 = new URLRequestHeader("Content-type", "application/octet-stream"); _local15 = new URLRequest(_local4); _local15.requestHeaders.push(_local14); _local15.method = URLRequestMethod.POST; _local15.data = _local13; navigateToURL(_local15, "_blank"); _local8.dispose(); } private static function scoreErrorAction(_arg1:Event=null):void{ _score_error_function.apply(); } public static function linkSendToFrined():void{ if (!params["send_to_friends"]){ GamezheroGlobal.getURL((((((("http://www.gamezhero.com/sendtofriends/" + GamezheroGlobal.gameName) + "-games.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=send_to_friend"), "_blank"); } else { GamezheroGlobal.getURL(params["send_to_friends"], "_blank"); }; } private static function scoreContinueAction(_arg1:Event=null):void{ _score_continue_function.apply(); } private static function preloaderNextStep(_arg1:Event=null):void{ _preloader_next_step_function.apply(); } public static function preloader(_arg1:MovieClip, _arg2:Function):void{ var _local3:GamePreloader; _preloader_goal = (_arg1 as MovieClip); _preloader_next_step_function = _arg2; if (GamezheroGlobal.gameName == "unset"){ } else { _local3 = new GamePreloader(_preloader_goal, {debug:false}); _local3.addEventListener(GamePreloader.FINISH, preloaderNextStep); }; } public static function sentToPrint(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ var p:PrintJob; var w:Number; var h:Number; var rotation_foo:Number; var width_foo:Number; var height_foo:Number; var parent_foo:DisplayObject; var index_foo:Number; var sp:MovieClip; var wm:Sprite; var wm1:Watermark; var wm2:Watermark; var ct:ColorTransform; var kof:Number; var tx:Number; var ty:Number; var margin:Number; var rec:Rectangle; var dx_foo:Number; var dy_foo:Number; var rec2:Rectangle; var dx_foo2:Number; var dy_foo2:Number; var options:PrintJobOptions; var mc = _arg1; var _x = _arg2; var _y = _arg3; var _w = _arg4; var _h = _arg5; p = new PrintJob(); w = 598.5; h = 846.45; rotation_foo = mc.rotation; mc.rotation = 0; width_foo = mc.width; height_foo = mc.height; parent_foo = (mc.parent as DisplayObject); index_foo = (parent_foo as MovieClip).getChildIndex(mc); sp = new MovieClip(); sp.addChild(mc); if (mc.width > mc.height){ mc.rotation = -90; }; wm = new Sprite(); wm1 = new Watermark(); wm2 = new Watermark(); wm1.y = (wm1.y + 2); wm1.x = (wm1.x + 2); wm1.alpha = 0.5; ct = new ColorTransform(); ct.color = 0; wm1.transform.colorTransform = ct; wm.addChild(wm1); wm.addChild(wm2); (parent_foo as MovieClip).addChildAt(sp, index_foo); tx = 0; ty = 0; margin = 10; rec = mc.getRect(sp); dx_foo = rec.x; dy_foo = rec.y; rec2 = mc.getRect(mc); dx_foo2 = rec2.x; dy_foo2 = rec2.y; kof = Math.min((w / (sp.width + margin)), (h / (sp.height + margin))); sp.width = (sp.width * kof); sp.height = (sp.height * kof); tx = ((((sp.width / kof) - (w / kof)) / 2) + dx_foo); ty = ((((sp.height / kof) - (h / kof)) / 2) + dy_foo); mc.addChild(wm); wm.width = ((h * 0.1) / kof); wm.scaleY = wm.scaleX; wm.x = dx_foo2; wm.y = dy_foo2; if (p.start()){ try { options = new PrintJobOptions(); options.printAsBitmap = false; p.addPage((sp as Sprite), new Rectangle(tx, ty, w, h), options); } catch(e:Error) { }; p.send(); }; mc.rotation = rotation_foo; mc.width = width_foo; mc.height = height_foo; (parent_foo as MovieClip).removeChild(sp); (parent_foo as MovieClip).addChildAt(mc, index_foo); } public static function linkPublish():void{ if (!params["embed"]){ GamezheroGlobal.getURL((((((("http://www.gamezhero.com/freewebsitegames/" + GamezheroGlobal.gameName) + "-games.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=free_web_site_games"), "_blank"); } else { GamezheroGlobal.getURL(params["embed"], "_blank"); }; } } }//package com.gamezhero.api.as3
Section 85
//GamezheroGlobal (com.gamezhero.api.as3.GamezheroGlobal) package com.gamezhero.api.as3 { import flash.display.*; import flash.net.*; import com.gamezhero.api.as3.utils.*; import flash.external.*; public class GamezheroGlobal { public static const SAFARI:String = "safari"; public static const FIREFOX:String = "firefox"; public static const CHROME:String = "chrome"; public static const IE:String = "ie"; public static const OPERA:String = "opera"; public static var gameNameVar:String = "unset"; public static var host:String = "error"; public static var browser:String = "unset"; public static var gameCodeVar:String = "unset"; public static function getDomain(_arg1:Stage=null):String{ var url:URL; var stage = _arg1; if (host != "error"){ return (host); }; try { url = new URL(stage.loaderInfo.url); host = url.host; if (url.host == null){ host = "local"; }; } catch(e:Error) { host = "error"; }; return (host); } public static function toText(_arg1:Array):String{ var _local2:String; var _local3:Number; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } public static function getURL(_arg1:String, _arg2:String):void{ var _local3:URLRequest; _local3 = new URLRequest(_arg1); navigateToURL(_local3, _arg2); } public static function get gameName():String{ return (gameNameVar); } public static function getBrowser():String{ var st:String; if (browser == "unset"){ if (ExternalInterface.available){ try { st = ExternalInterface.call("function (){ return navigator['userAgent']}"); st = st.toLowerCase(); if (st.indexOf("firefox") != -1){ browser = FIREFOX; } else { if (st.indexOf("chrome") != -1){ browser = CHROME; } else { if (st.indexOf("safari") != -1){ browser = SAFARI; } else { if (st.indexOf("opera") != -1){ browser = OPERA; } else { browser = IE; }; }; }; }; } catch(e:Error) { browser = IE; }; } else { browser = IE; }; }; return (browser); } public static function set gameName(_arg1:String):void{ gameNameVar = _arg1; } public static function set gameCode(_arg1:String):void{ gameCodeVar = _arg1; } public static function get gameCode():String{ return (gameCodeVar); } } }//package com.gamezhero.api.as3
Section 86
//SubmitArea (com.gamezhero.api.as3.SubmitArea) package com.gamezhero.api.as3 { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import com.gamezhero.api.as3.gui.*; import flash.text.*; public class SubmitArea extends MovieClip { private var x_pos:Number;// = 0 private var loader_skin:Loader; private var skin_info:Object; private var sendLocalConnection_engine:LocalConnection; private var _indicator:Indicator; private var score:Number; private var engine_mc:MovieClip; private var gamezheroCode_engine:Number; private var sendNameConnection_engine:String; private var objListenerSkin:Object; private var _loader_url:String;// = "null" public var versionGame:String;// = "2.0" private var objListenerEngine:Object; private var reciveLocalConnection_engine:LocalConnection; private var infoText:TextField; private var goal:MovieClip; private var _loader:URLVariables; private var sendLocalConnection_skin:LocalConnection; private var recivedNameConnection_skin:String; private var score_value:Number;// = 0 private var sendNameConnection_skin:String; private var y_pos:Number;// = 0 private var skin_mc:MovieClip; private var reciveLocalConnection_skin:LocalConnection; private var recivedNameConnection_engine:String; private var gamezheroCode_skin:Number; private var loader_engine:Loader; public static const SUBMITED:String = "gamezhero_submited"; public static const CONTINUE:String = "gamezhero_continue"; public static const ERROR:String = "gamezhero_error"; public function SubmitArea(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object){ versionGame = "2.0"; score_value = 0; x_pos = 0; y_pos = 0; reciveLocalConnection_skin = new LocalConnection(); sendLocalConnection_skin = new LocalConnection(); reciveLocalConnection_engine = new LocalConnection(); sendLocalConnection_engine = new LocalConnection(); loader_skin = new Loader(); loader_engine = new Loader(); objListenerSkin = new Object(); objListenerEngine = new Object(); _loader = new URLVariables(); _loader_url = "null"; super(); gamezheroCode_skin = new Date().getTime(); gamezheroCode_engine = gamezheroCode_skin; recivedNameConnection_skin = ("_send_gamezhero_skin_" + gamezheroCode_skin); sendNameConnection_skin = ("_recive_gamezhero_skin_" + gamezheroCode_skin); recivedNameConnection_engine = ("_send_gamezhero_engine_" + gamezheroCode_engine); sendNameConnection_engine = ("_recive_gamezhero_engine_" + gamezheroCode_engine); iniLocalConnectionsSkin(); iniLocalConnectionsEngine(); iniSubmitArea(_arg1, _arg2, _arg3, _arg4, _arg5); iniEvents(); } private function onStatusReciveEngine(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": infoText.text = "Error Connections 'Recive From Engine'"; break; }; } private function engineLoaderError(_arg1:Event=null):void{ infoText.text = "Error Loading Engine..."; errorAction(); } public function createInfoText():void{ var _local1:TextFormat; infoText = new TextField(); infoText.autoSize = TextFieldAutoSize.LEFT; _local1 = new TextFormat(); _local1.color = 0xFFFFFF; _local1.size = 11; _local1.font = "Arial"; infoText.defaultTextFormat = _local1; this.addChild(infoText); infoText.x = 10; infoText.y = 10; infoText.visible = false; } private function iniEvents():void{ loader_skin.contentLoaderInfo.addEventListener(Event.INIT, skinLoaderInit); loader_skin.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, skinLoaderError); loader_engine.contentLoaderInfo.addEventListener(Event.INIT, engineLoaderInit); loader_engine.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, engineLoaderError); reciveLocalConnection_skin.addEventListener(StatusEvent.STATUS, onStatusReciveSkin); reciveLocalConnection_skin.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveSkin); sendLocalConnection_skin.addEventListener(StatusEvent.STATUS, onStatusSendSkin); sendLocalConnection_skin.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendSkin); reciveLocalConnection_engine.addEventListener(StatusEvent.STATUS, onStatusReciveEngine); reciveLocalConnection_engine.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveEngine); sendLocalConnection_engine.addEventListener(StatusEvent.STATUS, onStatusSendEngine); sendLocalConnection_engine.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendEngine); } private function onErrorReciveSkin(_arg1:SecurityErrorEvent=null):void{ errorAction(); } private function toText(_arg1:Array):String{ var _local2:String; var _local3:Number; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } public function errorAction():void{ diactivateAllEvents(); deleteAll(); dispatchEvent(new Event(ERROR)); } public function submitAction(_arg1:String=""):void{ diactivateAllEvents(); deleteAll(); dispatchEvent(new Event(SUBMITED)); } private function onErrorSendEngine(_arg1:SecurityErrorEvent=null):void{ errorAction(); } private function diactivateAllEvents():void{ loader_skin.contentLoaderInfo.removeEventListener(Event.INIT, skinLoaderInit); loader_skin.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, skinLoaderError); loader_engine.contentLoaderInfo.removeEventListener(Event.INIT, engineLoaderInit); loader_engine.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, engineLoaderError); reciveLocalConnection_skin.removeEventListener(StatusEvent.STATUS, onStatusReciveSkin); reciveLocalConnection_skin.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveSkin); sendLocalConnection_skin.removeEventListener(StatusEvent.STATUS, onStatusSendSkin); sendLocalConnection_skin.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendSkin); reciveLocalConnection_engine.removeEventListener(StatusEvent.STATUS, onStatusReciveEngine); reciveLocalConnection_engine.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveEngine); sendLocalConnection_engine.removeEventListener(StatusEvent.STATUS, onStatusSendEngine); sendLocalConnection_engine.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendEngine); } private function checkSkin(_arg1:TimerEvent=null):void{ sendLocalConnection_skin.send(sendNameConnection_skin, "skinIsOk"); } private function onErrorReciveEngine(_arg1:SecurityErrorEvent=null):void{ errorAction(); } private function sendScoreAction(_arg1:MouseEvent=null):void{ var _local2:URLRequest; if (_loader_url != "null"){ _local2 = new URLRequest(_loader_url); _local2.method = URLRequestMethod.POST; _local2.data = _loader; navigateToURL(_local2, "_blank"); _loader = new URLVariables(); _loader_url = "null"; submitAction(); }; } private function loadEngine():void{ var url:String; var request:URLRequest; infoText.text = "Loading Engine..."; url = (toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 115, 99, 111, 114, 101, 47, 101, 110, 103, 105, 110, 101, 47, 101, 110, 103, 105, 110, 101, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + gamezheroCode_engine); request = new URLRequest(url); try { loader_engine.load(request); addChild(loader_engine); } catch(e:Error) { infoText.text = "Error Loading Engine..."; errorAction(); }; } private function iniLocalConnectionsEngine():void{ var dom:String; objListenerEngine = new Object(); objListenerEngine.engineOk = function ():void{ sendLocalConnection_engine.send(sendNameConnection_engine, "iniEngine", skin_info); infoText.text = "Engine Connections..."; }; objListenerEngine.engineError = function ():void{ infoText.text = "Error Engine..."; }; objListenerEngine.submitActionDone = function (_arg1:Object):void{ sendScore(_arg1); }; objListenerEngine.engineActivated = function ():void{ iniSkin(); }; dom = toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]); reciveLocalConnection_engine.allowDomain(dom); reciveLocalConnection_engine.allowInsecureDomain(dom); reciveLocalConnection_engine.client = objListenerEngine; reciveLocalConnection_engine.connect(recivedNameConnection_engine); sendLocalConnection_engine.allowDomain(dom); sendLocalConnection_engine.allowInsecureDomain(dom); } private function onStatusSendSkin(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": infoText.text = "Error Connections 'Send To Skin'"; break; }; } private function skinLoaderInit(_arg1:Event=null):void{ var _local2:Timer; infoText.text = "Check Skin Connection... "; _local2 = new Timer(200, 1); _local2.addEventListener(TimerEvent.TIMER, checkSkin); _local2.start(); } private function checkEngine(_arg1:TimerEvent=null):void{ sendLocalConnection_engine.send(sendNameConnection_engine, "engineIsOk"); } private function moveAction(_arg1:MouseEvent=null):void{ } private function onStatusSendEngine(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": infoText.text = "Error Connections 'Send To Engine'"; break; }; } private function onStatusReciveSkin(_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": infoText.text = "Error Connections 'Recive From Skin'"; break; }; } private function iniSkin():void{ loader_skin.x = x_pos; loader_skin.y = y_pos; infoText.text = ""; try { _indicator.remove(); } catch(e:Error) { }; sendLocalConnection_skin.send(sendNameConnection_skin, "iniSkin", skin_info); } private function loadSkin():void{ var url:String; var request:URLRequest; infoText.text = "Loading Skin..."; url = (toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 115, 99, 111, 114, 101, 47, 115, 107, 105, 110, 47, 115, 107, 105, 110, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + gamezheroCode_skin); request = new URLRequest(url); try { loader_skin.load(request); addChild(loader_skin); } catch(e:Error) { infoText.text = "Error Loading Skin..."; errorAction(); }; } private function iniLocalConnectionsSkin():void{ var dom:String; objListenerSkin = new Object(); objListenerSkin.skinOk = function ():void{ loadEngine(); }; objListenerSkin.submitAction = function (_arg1:String):void{ sendLocalConnection_engine.send(sendNameConnection_engine, toText([115, 101, 110, 100, 83, 99, 111, 114, 101]), _arg1); }; objListenerSkin.errorInputActin = function ():void{ }; objListenerSkin.continueAction = function ():void{ continueAction(); }; dom = toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]); reciveLocalConnection_skin.allowInsecureDomain(dom); reciveLocalConnection_skin.allowDomain(dom); reciveLocalConnection_skin.client = objListenerSkin; reciveLocalConnection_skin.connect(recivedNameConnection_skin); sendLocalConnection_skin.allowInsecureDomain(dom); sendLocalConnection_skin.allowDomain(dom); } private function engineLoaderInit(_arg1:Event=null):void{ var _local2:Timer; infoText.text = "Check Engine Connection..."; _local2 = new Timer(200, 1); _local2.addEventListener(TimerEvent.TIMER, checkEngine); _local2.start(); } private function onErrorSendSkin(_arg1:SecurityErrorEvent=null):void{ errorAction(); } public function continueAction():void{ diactivateAllEvents(); deleteAll(); dispatchEvent(new Event(CONTINUE)); } private function iniSubmitArea(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object):void{ goal = (_arg1 as MovieClip); goal.addChild(this); x_pos = _arg2; y_pos = _arg3; score_value = Math.abs(Math.round(_arg4)); skin_info = _arg5; skin_info.score = score_value; skin_info.gameName = GamezheroGlobal.gameName; skin_info.gameCode = GamezheroGlobal.gameCode; skin_info.domain = GamezheroGlobal.getDomain(goal.stage); _indicator = new Indicator(goal); _indicator.setSize(50, 50); _indicator.setPos(30, 30); createInfoText(); loadSkin(); } private function sendScore(_arg1:Object):void{ var _local2:String; _loader = new URLVariables(); _loader_url = _arg1.url; for (_local2 in _arg1.vars) { _loader[_local2] = _arg1.vars[_local2]; }; sendScoreAction(); } private function fromText(_arg1:String):Array{ var _local2:Array; var _local3:Number; _local2 = new Array(); _local3 = 0; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } private function skinLoaderError(_arg1:Event=null):void{ infoText.text = "Error Loading Skin..."; errorAction(); } private function deleteAll():void{ try { this.removeChild(infoText); } catch(e:Error) { }; try { this.removeChild(loader_skin); } catch(e:Error) { }; try { this.removeChild(loader_engine); } catch(e:Error) { }; try { _indicator.remove(); } catch(e:Error) { }; try { goal.removeChild(this); } catch(e:Error) { }; } } }//package com.gamezhero.api.as3
Section 87
//UserInfo (com.gamezhero.api.as3.UserInfo) package com.gamezhero.api.as3 { import flash.display.*; import flash.system.*; import flash.external.*; public class UserInfo { public var flash_domain:String; private var _stage:Stage; public var ad_zone:String;// = "preloader" public var flash_height:Number; public var flash_vars:Object; public var referrer:String; public var flash_url:String; public var browser:String; public var href:String; private var _goal:MovieClip; public var flash_width:Number; public var api_version:String;// = "AS3 - v3.0" public var publisher:String;// = "gamezhero" public var capabilities:String; public var game_name:String; public function UserInfo(_arg1:MovieClip){ var g = _arg1; publisher = "gamezhero"; ad_zone = "preloader"; api_version = "AS3 - v3.0"; _goal = g; try { _stage = _goal.stage; } catch(e:Error) { }; super(); iniInfo(); } private function iniInfo():void{ var i:String; this["publisher"] = "gamezhero"; this["ad_zone"] = "preloader"; this["api_version"] = "AS3 - v3.0"; this["flash_vars"] = new Object(); this["capabilities"] = Capabilities.serverString; if (ExternalInterface.available){ try { this["href"] = ExternalInterface.call("function (){return document.location.href}"); } catch(e:Error) { this["href"] = "-1"; }; try { this["browser"] = ExternalInterface.call("function (){var st = ''; for (i in navigator){ if (typeof(navigator[i])!='function'){ st+=i+'='+navigator[i]+'&'; }} return st}"); } catch(e:Error) { this["browser"] = "-1"; }; try { this["referrer"] = ExternalInterface.call("function (){return document.referrer}"); } catch(e:Error) { this["referrer"] = "-1"; }; } else { this["href"] = "-1"; this["browser"] = "-1"; this["referrer"] = "-1"; }; this["game_name"] = GamezheroGlobal.gameName; this["flash_domain"] = GamezheroGlobal.getDomain(); try { this["flash_width"] = _stage.stageWidth; this["flash_height"] = _stage.stageHeight; this["flash_url"] = _stage.root.loaderInfo.url; } catch(e:Error) { }; try { for (i in _stage.root.loaderInfo.parameters) { this["flash_vars"][i] = _stage.root.loaderInfo.parameters[i]; }; } catch(e:Error) { }; } } }//package com.gamezhero.api.as3
Section 88
//CampaignInfo (com.google.analytics.campaign.CampaignInfo) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignInfo { private var _new:Boolean; private var _empty:Boolean; public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){ _empty = _arg1; _new = _arg2; } public function isEmpty():Boolean{ return (_empty); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (((!(isEmpty())) && (isNew()))){ _local1.utmcn = utmcn; }; if (((!(isEmpty())) && (!(isNew())))){ _local1.utmcr = utmcr; }; return (_local1); } public function isNew():Boolean{ return (_new); } public function get utmcn():String{ return ("1"); } public function get utmcr():String{ return ("1"); } } }//package com.google.analytics.campaign
Section 89
//CampaignKey (com.google.analytics.campaign.CampaignKey) package com.google.analytics.campaign { public class CampaignKey { public var UCMD:String;// = "utm_medium" public var UCID:String;// = "utm_id" public var UCTR:String;// = "utm_term" public var UCSR:String;// = "utm_source" public var UCNO:String;// = "utm_nooverride" public var UCCN:String;// = "utm_campaign" public var UGCLID:String;// = "gclid" public var UCCT:String;// = "utm_content" public function CampaignKey(){ UCCN = "utm_campaign"; UCCT = "utm_content"; UCID = "utm_id"; UCMD = "utm_medium"; UCNO = "utm_nooverride"; UCSR = "utm_source"; UCTR = "utm_term"; UGCLID = "gclid"; super(); } } }//package com.google.analytics.campaign
Section 90
//CampaignManager (com.google.analytics.campaign.CampaignManager) package com.google.analytics.campaign { import com.google.analytics.debug.*; import com.google.analytics.core.*; import com.google.analytics.utils.*; import com.google.analytics.v4.*; public class CampaignManager { private var _config:Configuration; private var _domainHash:Number; private var _debug:DebugConfiguration; private var _timeStamp:Number; private var _referrer:String; private var _buffer:Buffer; public static const trackingDelimiter:String = "|"; public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _domainHash = _arg4; _referrer = _arg5; _timeStamp = _arg6; } public function hasNoOverride(_arg1:String):Boolean{ var _local2:CampaignKey; var _local3:Variables; var _local4:String; _local2 = _config.campaignKey; if (_arg1 == ""){ return (false); }; _local3 = new Variables(_arg1); _local4 = ""; if (_local3.hasOwnProperty(_local2.UCNO)){ _local4 = _local3[_local2.UCNO]; switch (_local4){ case "1": return (true); case "": case "0": default: return (false); }; }; return (false); } public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{ var _local3:CampaignInfo; var _local4:CampaignTracker; var _local5:Boolean; var _local6:Boolean; var _local7:int; var _local8:CampaignTracker; var _local9:int; _local3 = new CampaignInfo(); _local5 = false; _local6 = false; _local7 = 0; if (((_config.allowLinker) && (_buffer.isGenuine()))){ if (!_buffer.hasUTMZ()){ return (_local3); }; }; _local4 = getTrackerFromSearchString(_arg1); if (isValid(_local4)){ _local6 = hasNoOverride(_arg1); if (((_local6) && (!(_buffer.hasUTMZ())))){ return (_local3); }; }; if (!isValid(_local4)){ _local4 = getOrganicCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){ return (_local3); }; }; if (((!(isValid(_local4))) && (_arg2))){ _local4 = getReferrerCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){ return (_local3); }; }; if (!isValid(_local4)){ if (((!(_buffer.hasUTMZ())) && (_arg2))){ _local4 = getDirectCampaign(); }; }; if (!isValid(_local4)){ return (_local3); }; if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){ _local8 = new CampaignTracker(); _local8.fromTrackerString(_buffer.utmz.campaignTracking); _local5 = (_local8.toTrackerString() == _local4.toTrackerString()); _local7 = _buffer.utmz.responseCount; }; if (((!(_local5)) || (_arg2))){ _local9 = _buffer.utma.sessionCount; _local7++; if (_local9 == 0){ _local9 = 1; }; _buffer.utmz.domainHash = _domainHash; _buffer.utmz.campaignCreation = _timeStamp; _buffer.utmz.campaignSessions = _local9; _buffer.utmz.responseCount = _local7; _buffer.utmz.campaignTracking = _local4.toTrackerString(); _debug.info(_buffer.utmz.toString(), VisualDebugMode.geek); _local3 = new CampaignInfo(false, true); } else { _local3 = new CampaignInfo(false, false); }; return (_local3); } public function isValid(_arg1:CampaignTracker):Boolean{ if (((_arg1) && (_arg1.isValid()))){ return (true); }; return (false); } public function getTrackerFromSearchString(_arg1:String):CampaignTracker{ var _local2:CampaignTracker; var _local3:CampaignTracker; var _local4:CampaignKey; var _local5:Variables; _local2 = getOrganicCampaign(); _local3 = new CampaignTracker(); _local4 = _config.campaignKey; if (_arg1 == ""){ return (_local3); }; _local5 = new Variables(_arg1); if (_local5.hasOwnProperty(_local4.UCID)){ _local3.id = _local5[_local4.UCID]; }; if (_local5.hasOwnProperty(_local4.UCSR)){ _local3.source = _local5[_local4.UCSR]; }; if (_local5.hasOwnProperty(_local4.UGCLID)){ _local3.clickId = _local5[_local4.UGCLID]; }; if (_local5.hasOwnProperty(_local4.UCCN)){ _local3.name = _local5[_local4.UCCN]; } else { _local3.name = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCMD)){ _local3.medium = _local5[_local4.UCMD]; } else { _local3.medium = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCTR)){ _local3.term = _local5[_local4.UCTR]; } else { if (((_local2) && (!((_local2.term == ""))))){ _local3.term = _local2.term; }; }; if (_local5.hasOwnProperty(_local4.UCCT)){ _local3.content = _local5[_local4.UCCT]; }; return (_local3); } public function getOrganicCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local2:URL; var _local3:String; var _local4:Array; var _local5:OrganicReferrer; var _local6:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; _local2 = new URL(_referrer); _local3 = ""; if (_local2.hostName != ""){ if (_local2.hostName.indexOf(".") > -1){ _local4 = _local2.hostName.split("."); switch (_local4.length){ case 2: _local3 = _local4[0]; break; case 3: _local3 = _local4[1]; break; }; }; }; if (_config.organic.match(_local3)){ _local5 = _config.organic.getReferrerByName(_local3); _local6 = _config.organic.getKeywordValue(_local5, _local2.search); _local1 = new CampaignTracker(); _local1.source = _local5.engine; _local1.name = "(organic)"; _local1.medium = "organic"; _local1.term = _local6; }; return (_local1); } public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "referral")))){ return (_config.organic.isIgnoredReferral(_arg1.source)); }; return (false); } public function getDirectCampaign():CampaignTracker{ var _local1:CampaignTracker; _local1 = new CampaignTracker(); _local1.source = "(direct)"; _local1.name = "(direct)"; _local1.medium = "(none)"; return (_local1); } public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "organic")))){ return (_config.organic.isIgnoredKeyword(_arg1.term)); }; return (false); } public function getReferrerCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local2:URL; var _local3:String; var _local4:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; _local2 = new URL(_referrer); _local3 = _local2.hostName; _local4 = _local2.path; if (_local3.indexOf("www.") == 0){ _local3 = _local3.substr(4); }; _local1 = new CampaignTracker(); _local1.source = _local3; _local1.name = "(referral)"; _local1.medium = "referral"; _local1.content = _local4; return (_local1); } public static function isInvalidReferrer(_arg1:String):Boolean{ var _local2:URL; if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){ return (true); }; if (_arg1.indexOf("://") > -1){ _local2 = new URL(_arg1); if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){ return (true); }; }; return (false); } public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{ var _local3:URL; _local3 = new URL(_arg1); if (_local3.hostName.indexOf(_arg2.google) > -1){ if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){ if (_local3.path == ("/" + _arg2.googleCsePath)){ return (true); }; }; }; return (false); } } }//package com.google.analytics.campaign
Section 91
//CampaignTracker (com.google.analytics.campaign.CampaignTracker) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignTracker { public var content:String; public var id:String; public var clickId:String; public var name:String; public var term:String; public var medium:String; public var source:String; public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){ this.id = _arg1; this.source = _arg2; this.clickId = _arg3; this.name = _arg4; this.medium = _arg5; this.term = _arg6; this.content = _arg7; } public function toTrackerString():String{ var _local1:Array; _local1 = []; _addIfNotEmpty(_local1, "utmcid=", id); _addIfNotEmpty(_local1, "utmcsr=", source); _addIfNotEmpty(_local1, "utmgclid=", clickId); _addIfNotEmpty(_local1, "utmccn=", name); _addIfNotEmpty(_local1, "utmcmd=", medium); _addIfNotEmpty(_local1, "utmctr=", term); _addIfNotEmpty(_local1, "utmcct=", content); return (_local1.join(CampaignManager.trackingDelimiter)); } public function isValid():Boolean{ if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){ return (true); }; return (false); } private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{ if (_arg3 != ""){ _arg3 = _arg3.split("+").join("%20"); _arg3 = _arg3.split(" ").join("%20"); _arg1.push((_arg2 + _arg3)); }; } public function fromTrackerString(_arg1:String):void{ var _local2:String; var _local3:Variables; _local2 = _arg1.split(CampaignManager.trackingDelimiter).join("&"); _local3 = new Variables(_local2); if (_local3.hasOwnProperty("utmcid")){ this.id = _local3["utmcid"]; }; if (_local3.hasOwnProperty("utmcsr")){ this.source = _local3["utmcsr"]; }; if (_local3.hasOwnProperty("utmccn")){ this.name = _local3["utmccn"]; }; if (_local3.hasOwnProperty("utmcmd")){ this.medium = _local3["utmcmd"]; }; if (_local3.hasOwnProperty("utmctr")){ this.term = _local3["utmctr"]; }; if (_local3.hasOwnProperty("utmcct")){ this.content = _local3["utmcct"]; }; if (_local3.hasOwnProperty("utmgclid")){ this.clickId = _local3["utmgclid"]; }; } } }//package com.google.analytics.campaign
Section 92
//BrowserInfo (com.google.analytics.core.BrowserInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.v4.*; public class BrowserInfo { private var _config:Configuration; private var _info:Environment; public function BrowserInfo(_arg1:Configuration, _arg2:Environment){ _config = _arg1; _info = _arg2; } public function get utmul():String{ return (_info.language.toLowerCase()); } public function get utmje():String{ return ("0"); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function get utmsr():String{ return (((_info.screenWidth + "x") + _info.screenHeight)); } public function get utmcs():String{ return (_info.languageEncoding); } public function get utmfl():String{ var _local1:Version; if (_config.detectFlash){ _local1 = _info.flashVersion; return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build)); }; return ("-"); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; _local1.utmcs = utmcs; _local1.utmsr = utmsr; _local1.utmsc = utmsc; _local1.utmul = utmul; _local1.utmje = utmje; _local1.utmfl = utmfl; return (_local1); } public function get utmsc():String{ return ((_info.screenColorDepth + "-bit")); } } }//package com.google.analytics.core
Section 93
//Buffer (com.google.analytics.core.Buffer) package com.google.analytics.core { import com.google.analytics.debug.*; import flash.events.*; import com.google.analytics.data.*; import flash.net.*; import com.google.analytics.v4.*; public dynamic class Buffer { private var _volatile:Boolean; private var _data:Object; private var _OBJ:Object; private var _utmb:UTMB; private var _utmc:UTMC; private var _utma:UTMA; private var _debug:DebugConfiguration; private var _utmk:UTMK; private var _config:Configuration; private var _utmv:UTMV; private var _utmx:UTMX; private var _utmz:UTMZ; private var _SO:SharedObject; public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){ var _local5:String; super(); _config = _arg1; _debug = _arg2; _data = _arg4; _volatile = _arg3; if (_volatile){ _OBJ = new Object(); if (_data){ for (_local5 in _data) { _OBJ[_local5] = _data[_local5]; }; }; }; } public function save():void{ var flushStatus:String; if (!isVolatile()){ flushStatus = null; try { flushStatus = _SO.flush(); } catch(e:Error) { _debug.warning("Error...Could not write SharedObject to disk"); }; switch (flushStatus){ case SharedObjectFlushStatus.PENDING: _debug.info("Requesting permission to save object..."); _SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); break; case SharedObjectFlushStatus.FLUSHED: _debug.info("Value flushed to disk."); break; }; }; } public function get utmv():UTMV{ if (!hasUTMV()){ _createUMTV(); }; return (_utmv); } public function get utmx():UTMX{ if (!hasUTMX()){ _createUMTX(); }; return (_utmx); } public function get utmz():UTMZ{ if (!hasUTMZ()){ _createUMTZ(); }; return (_utmz); } public function hasUTMA():Boolean{ if (_utma){ return (true); }; return (false); } public function hasUTMB():Boolean{ if (_utmb){ return (true); }; return (false); } public function clearCookies():void{ utma.reset(); utmb.reset(); utmc.reset(); utmz.reset(); utmv.reset(); utmk.reset(); } public function resetCurrentSession():void{ _clearUTMB(); _clearUTMC(); save(); } public function hasUTMC():Boolean{ if (_utmc){ return (true); }; return (false); } public function hasUTMK():Boolean{ if (_utmk){ return (true); }; return (false); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ var _local3:String; var _local4:String; var _local5:Array; _local3 = toLinkerParams(); _local4 = _arg1; _local5 = _arg1.split("#"); if (_local3){ if (_arg2){ if (1 >= _local5.length){ _local4 = (_local4 + ("#" + _local3)); } else { _local4 = (_local4 + ("&" + _local3)); }; } else { if (1 >= _local5.length){ if (_arg1.indexOf("?") > -1){ _local4 = (_local4 + "&"); } else { _local4 = (_local4 + "?"); }; _local4 = (_local4 + _local3); } else { _local4 = _local5[0]; if (_arg1.indexOf("?") > -1){ _local4 = (_local4 + "&"); } else { _local4 = (_local4 + "?"); }; _local4 = (_local4 + ((_local3 + "#") + _local5[1])); }; }; }; return (_local4); } public function generateCookiesHash():Number{ var _local1:String; _local1 = ""; _local1 = (_local1 + utma.valueOf()); _local1 = (_local1 + utmb.valueOf()); _local1 = (_local1 + utmc.valueOf()); _local1 = (_local1 + utmx.valueOf()); _local1 = (_local1 + utmz.valueOf()); _local1 = (_local1 + utmv.valueOf()); return (Utils.generateHash(_local1)); } private function _createUMTA():void{ _utma = new UTMA(); _utma.proxy = this; } private function _createUMTB():void{ _utmb = new UTMB(); _utmb.proxy = this; } private function _createUMTC():void{ _utmc = new UTMC(); } public function hasUTMV():Boolean{ if (_utmv){ return (true); }; return (false); } private function _createUMTK():void{ _utmk = new UTMK(); _utmk.proxy = this; } public function hasUTMX():Boolean{ if (_utmx){ return (true); }; return (false); } public function hasUTMZ():Boolean{ if (_utmz){ return (true); }; return (false); } private function _createUMTV():void{ _utmv = new UTMV(); _utmv.proxy = this; } private function _createUMTX():void{ _utmx = new UTMX(); _utmx.proxy = this; } private function _createUMTZ():void{ _utmz = new UTMZ(); _utmz.proxy = this; } public function updateUTMA(_arg1:Number):void{ if (_debug.verbose){ _debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced); }; if (!utma.isEmpty()){ if (isNaN(utma.sessionCount)){ utma.sessionCount = 1; } else { utma.sessionCount = (utma.sessionCount + 1); }; utma.lastTime = utma.currentTime; utma.currentTime = _arg1; }; } public function isGenuine():Boolean{ if (!hasUTMK()){ return (true); }; return ((utmk.hash == generateCookiesHash())); } private function _onFlushStatus(_arg1:NetStatusEvent):void{ _debug.info("User closed permission dialog..."); switch (_arg1.info.code){ case "SharedObject.Flush.Success": _debug.info("User granted permission -- value saved."); break; case "SharedObject.Flush.Failed": _debug.info("User denied permission -- value not saved."); break; }; _SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); } public function toLinkerParams():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + utma.toURLString()); _local1 = (_local1 + ("&" + utmb.toURLString())); _local1 = (_local1 + ("&" + utmc.toURLString())); _local1 = (_local1 + ("&" + utmx.toURLString())); _local1 = (_local1 + ("&" + utmz.toURLString())); _local1 = (_local1 + ("&" + utmv.toURLString())); _local1 = (_local1 + ("&__utmk=" + generateCookiesHash())); return (_local1); } private function _clearUTMA():void{ _utma = null; if (!isVolatile()){ _SO.data.utma = null; delete _SO.data.utma; }; } private function _clearUTMC():void{ _utmc = null; } private function _clearUTMB():void{ _utmb = null; if (!isVolatile()){ _SO.data.utmb = null; delete _SO.data.utmb; }; } public function update(_arg1:String, _arg2):void{ if (isVolatile()){ _OBJ[_arg1] = _arg2; } else { _SO.data[_arg1] = _arg2; }; } public function createSO():void{ var saveSO:Boolean; UTMZ.defaultTimespan = _config.conversionTimeout; UTMB.defaultTimespan = _config.sessionTimeout; if (!_volatile){ try { _SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath); } catch(e:Error) { if (_debug.active){ _debug.warning(((("Shared Object " + _config.cookieName) + " failed to be set\nreason: ") + e.message)); }; }; saveSO = false; if (_SO.data.utma){ if (!hasUTMA()){ _createUMTA(); }; _utma.fromSharedObject(_SO.data.utma); if (_debug.verbose){ _debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek); }; if (_utma.isExpired()){ if (_debug.verbose){ _debug.warning("UTMA has expired", VisualDebugMode.advanced); }; _clearUTMA(); saveSO = true; }; }; if (_SO.data.utmb){ if (!hasUTMB()){ _createUMTB(); }; _utmb.fromSharedObject(_SO.data.utmb); if (_debug.verbose){ _debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek); }; if (_utmb.isExpired()){ if (_debug.verbose){ _debug.warning("UTMB has expired", VisualDebugMode.advanced); }; _clearUTMB(); saveSO = true; }; }; if (_SO.data.utmc){ delete _SO.data.utmc; saveSO = true; }; if (_SO.data.utmk){ if (!hasUTMK()){ _createUMTK(); }; _utmk.fromSharedObject(_SO.data.utmk); if (_debug.verbose){ _debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek); }; }; if (!hasUTMX()){ _createUMTX(); }; if (_SO.data.utmv){ if (!hasUTMV()){ _createUMTV(); }; _utmv.fromSharedObject(_SO.data.utmv); if (_debug.verbose){ _debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek); }; if (_utmv.isExpired()){ if (_debug.verbose){ _debug.warning("UTMV has expired", VisualDebugMode.advanced); }; _clearUTMV(); saveSO = true; }; }; if (_SO.data.utmz){ if (!hasUTMZ()){ _createUMTZ(); }; _utmz.fromSharedObject(_SO.data.utmz); if (_debug.verbose){ _debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek); }; if (_utmz.isExpired()){ if (_debug.verbose){ _debug.warning("UTMZ has expired", VisualDebugMode.advanced); }; _clearUTMZ(); saveSO = true; }; }; if (saveSO){ save(); }; }; } private function _clearUTMZ():void{ _utmz = null; if (!isVolatile()){ _SO.data.utmz = null; delete _SO.data.utmz; }; } private function _clearUTMV():void{ _utmv = null; if (!isVolatile()){ _SO.data.utmv = null; delete _SO.data.utmv; }; } public function isVolatile():Boolean{ return (_volatile); } public function get utma():UTMA{ if (!hasUTMA()){ _createUMTA(); }; return (_utma); } public function get utmb():UTMB{ if (!hasUTMB()){ _createUMTB(); }; return (_utmb); } public function get utmc():UTMC{ if (!hasUTMC()){ _createUMTC(); }; return (_utmc); } public function get utmk():UTMK{ if (!hasUTMK()){ _createUMTK(); }; return (_utmk); } } }//package com.google.analytics.core
Section 94
//DocumentInfo (com.google.analytics.core.DocumentInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.v4.*; import com.google.analytics.external.*; public class DocumentInfo { private var _config:Configuration; private var _utmr:String; private var _adSense:AdSenseGlobals; private var _info:Environment; private var _pageURL:String; public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){ _config = _arg1; _info = _arg2; _utmr = _arg3; _pageURL = _arg4; _adSense = _arg5; } public function get utmr():String{ if (!_utmr){ return ("-"); }; return (_utmr); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } private function _renderPageURL(_arg1:String=""):String{ var _local2:String; var _local3:String; _local2 = _info.locationPath; _local3 = _info.locationSearch; if (((!(_arg1)) || ((_arg1 == "")))){ _arg1 = (_local2 + unescape(_local3)); if (_arg1 == ""){ _arg1 = "/"; }; }; return (_arg1); } public function get utmp():String{ return (_renderPageURL(_pageURL)); } private function _generateHitId():Number{ var _local1:Number; if (((_adSense.hid) && (!((_adSense.hid == ""))))){ _local1 = Number(_adSense.hid); } else { _local1 = Math.round((Math.random() * 2147483647)); _adSense.hid = String(_local1); }; return (_local1); } public function get utmhid():String{ return (String(_generateHitId())); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (((_config.detectTitle) && (!((utmdt == ""))))){ _local1.utmdt = utmdt; }; _local1.utmhid = utmhid; _local1.utmr = utmr; _local1.utmp = utmp; return (_local1); } public function get utmdt():String{ return (_info.documentTitle); } } }//package com.google.analytics.core
Section 95
//Domain (com.google.analytics.core.Domain) package com.google.analytics.core { import com.google.analytics.debug.*; public class Domain { private var _mode:DomainNameMode; private var _name:String; private var _debug:DebugConfiguration; public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){ _debug = _arg3; if (_arg1 == null){ _arg1 = DomainNameMode.auto; }; _mode = _arg1; if (_arg1 == DomainNameMode.custom){ this.name = _arg2; } else { _name = _arg2; }; } public function get mode():DomainNameMode{ return (_mode); } public function set mode(_arg1:DomainNameMode):void{ _mode = _arg1; if (_mode == DomainNameMode.none){ _name = ""; }; } public function get name():String{ return (_name); } public function set name(_arg1:String):void{ if (((!((_arg1.charAt(0) == "."))) && (_debug))){ _debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek); }; _name = _arg1; } } }//package com.google.analytics.core
Section 96
//DomainNameMode (com.google.analytics.core.DomainNameMode) package com.google.analytics.core { public class DomainNameMode { private var _value:int; private var _name:String; public static const custom:DomainNameMode = new DomainNameMode(2, "custom"); ; public static const none:DomainNameMode = new DomainNameMode(0, "none"); ; public static const auto:DomainNameMode = new DomainNameMode(1, "auto"); ; public function DomainNameMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 97
//Ecommerce (com.google.analytics.core.Ecommerce) package com.google.analytics.core { import com.google.analytics.debug.*; import com.google.analytics.ecommerce.*; public class Ecommerce { private var _debug:DebugConfiguration; private var _trans:Array; public function Ecommerce(_arg1:DebugConfiguration){ this._debug = _arg1; _trans = new Array(); } public function getTransaction(_arg1:String):Transaction{ var _local2:Number; _local2 = 0; while (_local2 < _trans.length) { if (_trans[_local2].id == _arg1){ return (_trans[_local2]); }; _local2++; }; return (null); } public function getTransLength():Number{ return (_trans.length); } public function getTransFromArray(_arg1:Number):Transaction{ return (_trans[_arg1]); } public function addTransaction(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String):Transaction{ var _local9:Transaction; _local9 = getTransaction(_arg1); if (_local9 == null){ _local9 = new Transaction(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); _trans.push(_local9); } else { _local9.affiliation = _arg2; _local9.total = _arg3; _local9.tax = _arg4; _local9.shipping = _arg5; _local9.city = _arg6; _local9.state = _arg7; _local9.country = _arg8; }; return (_local9); } } }//package com.google.analytics.core
Section 98
//EventInfo (com.google.analytics.core.EventInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.data.*; public class EventInfo { private var _isEventHit:Boolean; private var _ext10:X10; private var _x10:X10; public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){ _isEventHit = _arg1; _x10 = _arg2; _ext10 = _arg3; } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function get utmt():String{ return ("event"); } public function get utme():String{ return (_x10.renderMergedUrlString(_ext10)); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (_isEventHit){ _local1.utmt = utmt; }; _local1.utme = utme; return (_local1); } } }//package com.google.analytics.core
Section 99
//EventTracker (com.google.analytics.core.EventTracker) package com.google.analytics.core { import com.google.analytics.v4.*; public class EventTracker { private var _parent:GoogleAnalyticsAPI; public var name:String; public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){ this.name = _arg1; _parent = _arg2; } public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{ return (_parent.trackEvent(name, _arg1, _arg2, _arg3)); } } }//package com.google.analytics.core
Section 100
//ga_internal (com.google.analytics.core.ga_internal) package com.google.analytics.core { public namespace ga_internal; }//package com.google.analytics.core
Section 101
//GIFRequest (com.google.analytics.core.GIFRequest) package com.google.analytics.core { import com.google.analytics.debug.*; import flash.display.*; import com.google.analytics.utils.*; import flash.events.*; import flash.net.*; import com.google.analytics.v4.*; import flash.system.*; public class GIFRequest { private var _info:Environment; private var _count:int; private var _utmac:String; private var _alertcount:int; private var _debug:DebugConfiguration; private var _lastRequest:URLRequest; private var _buffer:Buffer; private var _config:Configuration; private var _requests:Array; public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _info = _arg4; _count = 0; _alertcount = 0; _requests = []; } public function get utmn():String{ return ((Utils.generate32bitRandom() as String)); } public function onIOError(_arg1:IOErrorEvent):void{ var _local2:String; var _local3:String; var _local4:String; _local2 = _lastRequest.url; _local3 = String((_requests.length - 1)); _local4 = (("Gif Request #" + _local3) + " failed"); if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local2.indexOf("?") > -1){ _local2 = _local2.split("?")[0]; }; _local2 = _shortenURL(_local2); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable")); }; _debug.failure(_local4); } else { _debug.warning(_local4); }; _removeListeners(_arg1.target); } public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ var _local5:String; var _local6:URLRequest; var _local7:URLRequest; _utmac = _arg1; if (!_arg2){ _arg2 = new Variables(); }; _arg2.URIencode = false; _arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"]; _arg2.post = ["utmcc"]; if (_debug.verbose){ _debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek); }; if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){ if (_arg4){ updateToken(); }; if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){ if (((!(_arg3)) && (_arg4))){ _buffer.utmb.token = (_buffer.utmb.token - 1); }; _buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1); if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; _arg2.utmwv = utmwv; _arg2.utmn = Utils.generate32bitRandom(); if (_info.domainName != ""){ _arg2.utmhn = _info.domainName; }; if (_config.sampleRate < 1){ _arg2.utmsp = (_config.sampleRate * 100); }; if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){ _local5 = _info.locationSWFPath; if (_local5.lastIndexOf("/") > 0){ _local5 = _local5.substring(0, _local5.lastIndexOf("/")); }; _local6 = new URLRequest(); if (_config.localGIFpath.indexOf("http") == 0){ _local6.url = _config.localGIFpath; } else { _local6.url = (_local5 + _config.localGIFpath); }; _local6.url = (_local6.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local6); } else { sendRequest(_local6); }; }; if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){ _local7 = new URLRequest(); if (_info.protocol == Protocols.HTTPS){ _local7.url = _config.secureRemoteGIFpath; } else { if (_info.protocol == Protocols.HTTP){ _local7.url = _config.remoteGIFpath; } else { _local7.url = _config.remoteGIFpath; }; }; _arg2.utmac = utmac; _arg2.utmcc = encodeURIComponent(utmcc); _local7.url = (_local7.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local7); } else { sendRequest(_local7); }; }; }; }; } public function onSecurityError(_arg1:SecurityErrorEvent):void{ if (_debug.GIFRequests){ _debug.failure(_arg1.text); }; } public function get utmsp():String{ return (((_config.sampleRate * 100) as String)); } public function get utmcc():String{ var _local1:Array; _local1 = []; if (_buffer.hasUTMA()){ _local1.push((_buffer.utma.toURLString() + ";")); }; if (_buffer.hasUTMZ()){ _local1.push((_buffer.utmz.toURLString() + ";")); }; if (_buffer.hasUTMV()){ _local1.push((_buffer.utmv.toURLString() + ";")); }; return (_local1.join("+")); } public function get utmac():String{ return (_utmac); } public function get utmwv():String{ return (_config.version); } public function sendRequest(_arg1:URLRequest):void{ var loader:Loader; var context:LoaderContext; var request = _arg1; loader = new Loader(); loader.name = String(_count++); context = new LoaderContext(false); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); _lastRequest = request; _requests[loader.name] = new RequestObject(request); try { loader.load(request, context); } catch(e:Error) { _debug.failure("\"Loader.load()\" could not instanciate Gif Request"); }; } private function _removeListeners(_arg1:Object):void{ _arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError); _arg1.removeEventListener(Event.COMPLETE, onComplete); } public function updateToken():void{ var _local1:Number; var _local2:Number; _local1 = new Date().getTime(); _local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000)); if (_debug.verbose){ _debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek); }; if (_local2 >= 1){ _buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity); _buffer.utmb.lastTime = _local1; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; }; } private function _shortenURL(_arg1:String):String{ var _local2:Array; if (_arg1.length > 60){ _local2 = _arg1.split("/"); while (_arg1.length > 60) { _local2.shift(); _arg1 = ("../" + _local2.join("/")); }; }; return (_arg1); } public function get utmhn():String{ return (_info.domainName); } private function _debugSend(_arg1:URLRequest):void{ var _local2:String; var _local3:String; _local2 = ""; switch (_debug.mode){ case VisualDebugMode.geek: _local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url); break; case VisualDebugMode.advanced: _local3 = _arg1.url; if (_local3.indexOf("?") > -1){ _local3 = _local3.split("?")[0]; }; _local3 = _shortenURL(_local3); _local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?"); break; case VisualDebugMode.basic: default: _local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?"); }; _debug.alertGifRequest(_local2, _arg1, this); _alertcount++; } public function onComplete(_arg1:Event):void{ var _local2:String; var _local3:String; var _local4:String; _local2 = _arg1.target.loader.name; _requests[_local2].complete(); _local3 = (("Gif Request #" + _local2) + " sent"); _local4 = _requests[_local2].request.url; if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local4.indexOf("?") > -1){ _local4 = _local4.split("?")[0]; }; _local4 = _shortenURL(_local4); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local3 = (_local3 + ((" to \"" + _local4) + "\"")); }; _debug.success(_local3); } else { _debug.info(_local3); }; _removeListeners(_arg1.target); } } }//package com.google.analytics.core
Section 102
//IdleTimer (com.google.analytics.core.IdleTimer) package com.google.analytics.core { import com.google.analytics.debug.*; import flash.display.*; import flash.events.*; import flash.utils.*; import com.google.analytics.v4.*; public class IdleTimer { private var _loop:Timer; private var _stage:Stage; private var _lastMove:int; private var _debug:DebugConfiguration; private var _session:Timer; private var _inactivity:Number; private var _buffer:Buffer; public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){ var _local5:Number; var _local6:Number; var _local7:Number; super(); _local5 = _arg1.idleLoop; _local6 = _arg1.idleTimeout; _local7 = _arg1.sessionTimeout; _loop = new Timer((_local5 * 1000)); _session = new Timer((_local7 * 1000), 1); _debug = _arg2; _stage = _arg3.stage; _buffer = _arg4; _lastMove = getTimer(); _inactivity = (_local6 * 1000); _loop.addEventListener(TimerEvent.TIMER, checkForIdle); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); _stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek); _loop.start(); } private function onMouseMove(_arg1:MouseEvent):void{ _lastMove = getTimer(); if (_session.running){ _debug.info("session timer reset", VisualDebugMode.geek); _session.reset(); }; } public function endSession(_arg1:TimerEvent):void{ _session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession); _debug.info("session timer end session", VisualDebugMode.geek); _session.reset(); _buffer.resetCurrentSession(); _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); _debug.info(_buffer.utmc.toString(), VisualDebugMode.geek); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); } public function checkForIdle(_arg1:TimerEvent):void{ var _local2:int; _local2 = getTimer(); if ((_local2 - _lastMove) >= _inactivity){ if (!_session.running){ _debug.info("session timer start", VisualDebugMode.geek); _session.start(); }; }; } } }//package com.google.analytics.core
Section 103
//Organic (com.google.analytics.core.Organic) package com.google.analytics.core { import com.google.analytics.utils.*; public class Organic { private var _sourcesCache:Array; private var _sourcesEngine:Array; private var _ignoredKeywords:Array; private var _ignoredReferralsCache:Object; private var _ignoredReferrals:Array; private var _ignoredKeywordsCache:Object; private var _sources:Array; public static var throwErrors:Boolean = false; public function Organic(){ _sources = []; _sourcesCache = []; _sourcesEngine = []; _ignoredReferrals = []; _ignoredReferralsCache = {}; _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{ var _local3:String; _local3 = _arg1.keyword; return (getKeywordValueFromPath(_local3, _arg2)); } public function isIgnoredKeyword(_arg1:String):Boolean{ if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function isIgnoredReferral(_arg1:String):Boolean{ if (_ignoredReferralsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function clear():void{ clearEngines(); clearIgnoredReferrals(); clearIgnoredKeywords(); } public function get ignoredKeywordsCount():int{ return (_ignoredKeywords.length); } public function match(_arg1:String):Boolean{ if (_arg1 == ""){ return (false); }; _arg1 = _arg1.toLowerCase(); if (_sourcesEngine[_arg1] != undefined){ return (true); }; return (false); } public function get count():int{ return (_sources.length); } public function addSource(_arg1:String, _arg2:String):void{ var _local3:OrganicReferrer; _local3 = new OrganicReferrer(_arg1, _arg2); if (_sourcesCache[_local3.toString()] == undefined){ _sources.push(_local3); _sourcesCache[_local3.toString()] = (_sources.length - 1); if (_sourcesEngine[_local3.engine] == undefined){ _sourcesEngine[_local3.engine] = [(_sources.length - 1)]; } else { _sourcesEngine[_local3.engine].push((_sources.length - 1)); }; } else { if (throwErrors){ throw (new Error((_local3.toString() + " already exists, we don't add it."))); }; }; } public function clearIgnoredKeywords():void{ _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function clearEngines():void{ _sources = []; _sourcesCache = []; _sourcesEngine = []; } public function get ignoredReferralsCount():int{ return (_ignoredReferrals.length); } public function addIgnoredReferral(_arg1:String):void{ if (_ignoredReferralsCache[_arg1] == undefined){ _ignoredReferrals.push(_arg1); _ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function clearIgnoredReferrals():void{ _ignoredReferrals = []; _ignoredReferralsCache = {}; } public function getReferrerByName(_arg1:String):OrganicReferrer{ var _local2:int; if (match(_arg1)){ _local2 = _sourcesEngine[_arg1][0]; return (_sources[_local2]); }; return (null); } public function addIgnoredKeyword(_arg1:String):void{ if (_ignoredKeywordsCache[_arg1] == undefined){ _ignoredKeywords.push(_arg1); _ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function get sources():Array{ return (_sources); } public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Variables; if (_arg2.indexOf((_arg1 + "=")) > -1){ if (_arg2.charAt(0) == "?"){ _arg2 = _arg2.substr(1); }; _arg2 = _arg2.split("+").join("%20"); _local4 = new Variables(_arg2); _local3 = _local4[_arg1]; }; return (_local3); } } }//package com.google.analytics.core
Section 104
//OrganicReferrer (com.google.analytics.core.OrganicReferrer) package com.google.analytics.core { public class OrganicReferrer { private var _engine:String; private var _keyword:String; public function OrganicReferrer(_arg1:String, _arg2:String){ this.engine = _arg1; this.keyword = _arg2; } public function set engine(_arg1:String):void{ _engine = _arg1.toLowerCase(); } public function get keyword():String{ return (_keyword); } public function toString():String{ return (((engine + "?") + keyword)); } public function get engine():String{ return (_engine); } public function set keyword(_arg1:String):void{ _keyword = _arg1.toLowerCase(); } } }//package com.google.analytics.core
Section 105
//RequestObject (com.google.analytics.core.RequestObject) package com.google.analytics.core { import flash.net.*; import flash.utils.*; public class RequestObject { public var start:int; public var request:URLRequest; public var end:int; public function RequestObject(_arg1:URLRequest){ start = getTimer(); this.request = _arg1; } public function toString():String{ var _local1:Array; _local1 = []; _local1.push((("duration: " + duration) + "ms")); _local1.push(("url: " + request.url)); return ((("{ " + _local1.join(", ")) + " }")); } public function get duration():int{ if (!hasCompleted()){ return (0); }; return ((end - start)); } public function hasCompleted():Boolean{ return ((end > 0)); } public function complete():void{ end = getTimer(); } } }//package com.google.analytics.core
Section 106
//ServerOperationMode (com.google.analytics.core.ServerOperationMode) package com.google.analytics.core { public class ServerOperationMode { private var _value:int; private var _name:String; public static const both:ServerOperationMode = new ServerOperationMode(2, "both"); ; public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote"); ; public static const local:ServerOperationMode = new ServerOperationMode(0, "local"); ; public function ServerOperationMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 107
//TrackerCache (com.google.analytics.core.TrackerCache) package com.google.analytics.core { import com.google.analytics.v4.*; import flash.errors.*; public class TrackerCache implements GoogleAnalyticsAPI { public var tracker:GoogleAnalyticsAPI; private var _ar:Array; public static var CACHE_THROW_ERROR:Boolean; public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){ this.tracker = _arg1; _ar = []; } public function size():uint{ return (_ar.length); } public function flush():void{ var _local1:Object; var _local2:String; var _local3:Array; var _local4:int; var _local5:int; if (tracker == null){ return; }; if (size() > 0){ _local4 = _ar.length; while (_local5 < _local4) { _local1 = _ar.shift(); _local2 = (_local1.name as String); _local3 = (_local1.args as Array); if (((!((_local2 == null))) && ((_local2 in tracker)))){ (tracker[_local2] as Function).apply(tracker, _local3); }; _local5++; }; }; } public function enqueue(_arg1:String, ... _args):Boolean{ if (_arg1 == null){ return (false); }; _ar.push({name:_arg1, args:_args}); return (true); } public function link(_arg1:String, _arg2:Boolean=false):void{ enqueue("link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ enqueue("addOrganic", _arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ enqueue("setAllowLinker", _arg1); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLinkerUrl' method for the moment.")); }; return (""); } public function getClientInfo():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment.")); }; return (false); } public function trackTrans():void{ enqueue("trackTrans"); } public function trackPageview(_arg1:String=""):void{ enqueue("trackPageview", _arg1); } public function setClientInfo(_arg1:Boolean):void{ enqueue("setClientInfo", _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4); return (true); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ enqueue("linkByPost", _arg1, _arg2); } public function setCookieTimeout(_arg1:int):void{ enqueue("setCookieTimeout", _arg1); } public function isEmpty():Boolean{ return ((_ar.length == 0)); } public function getDetectTitle():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment.")); }; return (false); } public function resetSession():void{ enqueue("resetSession"); } public function setDetectFlash(_arg1:Boolean):void{ enqueue("setDetectFlash", _arg1); } public function clear():void{ _ar = []; } public function setCampNameKey(_arg1:String):void{ enqueue("setCampNameKey", _arg1); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function createEventTracker(_arg1:String):EventTracker{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment.")); }; return (null); } public function clearIgnoredOrganic():void{ enqueue("clearIgnoredOrganic"); } public function setVar(_arg1:String):void{ enqueue("setVar", _arg1); } public function setDomainName(_arg1:String):void{ enqueue("setDomainName", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment.")); }; } public function setCampSourceKey(_arg1:String):void{ enqueue("setCampSourceKey", _arg1); } public function setCampContentKey(_arg1:String):void{ enqueue("setCampContentKey", _arg1); } public function clearIgnoredRef():void{ enqueue("clearIgnoredRef"); } public function setLocalServerMode():void{ enqueue("setLocalServerMode"); } public function getLocalGifPath():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment.")); }; return (""); } public function setAllowAnchor(_arg1:Boolean):void{ enqueue("setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ enqueue("setLocalGifPath", _arg1); } public function getVersion():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment.")); }; return (""); } public function setCookiePath(_arg1:String):void{ enqueue("setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ enqueue("setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ enqueue("setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ enqueue("addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ enqueue("setCampNOKey", _arg1); } public function getServiceMode():ServerOperationMode{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment.")); }; return (null); } public function setLocalRemoteServerMode():void{ enqueue("setLocalRemoteServerMode"); } public function cookiePathCopy(_arg1:String):void{ enqueue("cookiePathCopy", _arg1); } public function setDetectTitle(_arg1:Boolean):void{ enqueue("setDetectTitle", _arg1); } public function getDetectFlash():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment.")); }; return (false); } public function setCampaignTrack(_arg1:Boolean):void{ enqueue("setCampaignTrack", _arg1); } public function clearOrganic():void{ enqueue("clearOrganic"); } public function setCampTermKey(_arg1:String):void{ enqueue("setCampTermKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ enqueue("addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ enqueue("setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ enqueue("setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ enqueue("setRemoteServerMode"); } public function element(){ return (_ar[0]); } public function getAccount():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment.")); }; return (""); } } }//package com.google.analytics.core
Section 108
//TrackerMode (com.google.analytics.core.TrackerMode) package com.google.analytics.core { public class TrackerMode { public static const BRIDGE:String = "Bridge"; public static const AS3:String = "AS3"; } }//package com.google.analytics.core
Section 109
//Utils (com.google.analytics.core.Utils) package com.google.analytics.core { public class Utils { public static function trim(_arg1:String, _arg2:Boolean=false):String{ var _local3:Array; var _local4:String; var _local5:int; var _local6:int; var _local7:int; if (_arg1 == ""){ return (""); }; _local3 = [" ", "\n", "\r", "\t"]; _local4 = _arg1; if (_arg2){ _local5 = 0; while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) { _local4 = _local4.split(_local3[_local5]).join(""); _local5++; }; } else { _local6 = 0; while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) { _local6++; }; _local4 = _local4.substr(_local6); _local7 = (_local4.length - 1); while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) { _local7--; }; _local4 = _local4.substring(0, (_local7 + 1)); }; return (_local4); } public static function generateHash(_arg1:String):int{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; _local2 = 1; _local3 = 0; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local2 = 0; _local4 = (_arg1.length - 1); while (_local4 >= 0) { _local5 = _arg1.charCodeAt(_local4); _local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14)); _local3 = (_local2 & 266338304); if (_local3 != 0){ _local2 = (_local2 ^ (_local3 >> 21)); }; _local4--; }; }; return (_local2); } public static function generate32bitRandom():int{ return (Math.round((Math.random() * 2147483647))); } public static function validateAccount(_arg1:String):Boolean{ var _local2:RegExp; _local2 = /^UA-[0-9]*-[0-9]*$/; return (_local2.test(_arg1)); } } }//package com.google.analytics.core
Section 110
//Cookie (com.google.analytics.data.Cookie) package com.google.analytics.data { public interface Cookie { "_-32"?? function toURLString():String; "_-32"?? function toSharedObject():Object; "_-32"?? function set creation(_arg1:Date):void; "_-32"?? function fromSharedObject(_arg1:Object):void; "_-32"?? function get expiration():Date; "_-32"?? function isExpired():Boolean; "_-32"?? function set expiration(_arg1:Date):void; "_-32"?? function get creation():Date; } }//package com.google.analytics.data
Section 111
//UTMA (com.google.analytics.data.UTMA) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMA extends UTMCookie { private var _domainHash:Number; private var _firstTime:Number; private var _currentTime:Number; private var _sessionId:Number; private var _lastTime:Number; private var _sessionCount:Number; public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){ super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.sessionId = _arg2; this.firstTime = _arg3; this.lastTime = _arg4; this.currentTime = _arg5; this.sessionCount = _arg6; } public function get lastTime():Number{ return (_lastTime); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get sessionCount():Number{ return (_sessionCount); } public function get firstTime():Number{ return (_firstTime); } public function set sessionId(_arg1:Number):void{ _sessionId = _arg1; update(); } public function set sessionCount(_arg1:Number):void{ _sessionCount = _arg1; update(); } public function set firstTime(_arg1:Number):void{ _firstTime = _arg1; update(); } public function set currentTime(_arg1:Number):void{ _currentTime = _arg1; update(); } public function get sessionId():Number{ return (_sessionId); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get currentTime():Number{ return (_currentTime); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 112
//UTMB (com.google.analytics.data.UTMB) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMB extends UTMCookie { private var _lastTime:Number; private var _domainHash:Number; private var _trackCount:Number; private var _token:Number; public static var defaultTimespan:Number = Timespan.thirtyminutes; public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){ super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.trackCount = _arg2; this.token = _arg3; this.lastTime = _arg4; } public function get token():Number{ return (_token); } public function set trackCount(_arg1:Number):void{ _trackCount = _arg1; update(); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get lastTime():Number{ return (_lastTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function set token(_arg1:Number):void{ _token = _arg1; update(); } public function get trackCount():Number{ return (_trackCount); } } }//package com.google.analytics.data
Section 113
//UTMC (com.google.analytics.data.UTMC) package com.google.analytics.data { public class UTMC extends UTMCookie { private var _domainHash:Number; public function UTMC(_arg1:Number=NaN){ super("utmc", "__utmc", ["domainHash"]); this.domainHash = _arg1; } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 114
//UTMCookie (com.google.analytics.data.UTMCookie) package com.google.analytics.data { import com.google.analytics.core.*; public class UTMCookie implements Cookie { protected var inURL:String; protected var name:String; private var _creation:Date; private var _expiration:Date; public var proxy:Buffer; private var _timespan:Number; protected var fields:Array; public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){ this.name = _arg1; this.inURL = _arg2; this.fields = _arg3; _timestamp(_arg4); } public function isEmpty():Boolean{ var _local1:int; var _local2:String; var _local3:int; _local1 = 0; _local3 = 0; while (_local3 < fields.length) { _local2 = fields[_local3]; if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){ _local1++; } else { if ((((this[_local2] is String)) && ((this[_local2] == "")))){ _local1++; }; }; _local3++; }; if (_local1 == fields.length){ return (true); }; return (false); } protected function update():void{ resetTimestamp(); if (proxy){ proxy.update(name, toSharedObject()); }; } public function fromSharedObject(_arg1:Object):void{ var _local2:String; var _local3:int; var _local4:int; _local3 = fields.length; _local4 = 0; while (_local4 < _local3) { _local2 = fields[_local4]; if (_arg1[_local2]){ this[_local2] = _arg1[_local2]; }; _local4++; }; if (_arg1.creation){ this.creation = _arg1.creation; }; if (_arg1.expiration){ this.expiration = _arg1.expiration; }; } private function _timestamp(_arg1:Number):void{ creation = new Date(); _timespan = _arg1; if (_arg1 > 0){ expiration = new Date((creation.valueOf() + _arg1)); }; } public function isExpired():Boolean{ var _local1:Date; var _local2:Number; _local1 = new Date(); _local2 = (expiration.valueOf() - _local1.valueOf()); if (_local2 <= 0){ return (true); }; return (false); } public function set expiration(_arg1:Date):void{ _expiration = _arg1; } public function get creation():Date{ return (_creation); } public function reset():void{ var _local1:String; var _local2:int; _local2 = 0; while (_local2 < fields.length) { _local1 = fields[_local2]; if ((this[_local1] is Number)){ this[_local1] = NaN; } else { if ((this[_local1] is String)){ this[_local1] = ""; }; }; _local2++; }; resetTimestamp(); update(); } public function valueOf():String{ var _local1:Array; var _local2:String; var _local3:*; var _local4:Array; var _local5:String; var _local6:int; _local1 = []; _local5 = ""; _local6 = 0; while (_local6 < fields.length) { _local2 = fields[_local6]; _local3 = this[_local2]; if ((_local3 is String)){ if (_local3 == ""){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; } else { if ((_local3 is Number)){ if (_local3 == 0){ _local1.push(_local3); } else { if (isNaN(_local3)){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; }; }; }; _local6++; }; if (isEmpty()){ return ("-"); }; return (("" + _local1.join("."))); } public function resetTimestamp(_arg1:Number=NaN):void{ if (!isNaN(_arg1)){ _timespan = _arg1; }; _creation = null; _expiration = null; _timestamp(_timespan); } public function get expiration():Date{ if (_expiration){ return (_expiration); }; return (new Date((new Date().valueOf() + 1000))); } public function toURLString():String{ return (((inURL + "=") + valueOf())); } public function toSharedObject():Object{ var _local1:Object; var _local2:String; var _local3:*; var _local4:int; _local1 = {}; _local4 = 0; for (;_local4 < fields.length;_local4++) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ _local1[_local2] = _local3; } else { if (_local3 == 0){ _local1[_local2] = _local3; } else { if (isNaN(_local3)){ continue; } else { _local1[_local2] = _local3; }; }; }; }; _local1.creation = creation; _local1.expiration = expiration; return (_local1); } public function toString(_arg1:Boolean=false):String{ var _local2:Array; var _local3:String; var _local4:*; var _local5:int; var _local6:int; var _local7:String; _local2 = []; _local5 = fields.length; _local6 = 0; for (;_local6 < _local5;_local6++) { _local3 = fields[_local6]; _local4 = this[_local3]; if ((_local4 is String)){ _local2.push((((_local3 + ": \"") + _local4) + "\"")); } else { if (_local4 == 0){ _local2.push(((_local3 + ": ") + _local4)); } else { if (isNaN(_local4)){ continue; } else { _local2.push(((_local3 + ": ") + _local4)); }; }; }; }; _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}"); if (_arg1){ _local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration)); }; return (_local7); } public function set creation(_arg1:Date):void{ _creation = _arg1; } } }//package com.google.analytics.data
Section 115
//UTMK (com.google.analytics.data.UTMK) package com.google.analytics.data { public class UTMK extends UTMCookie { private var _hash:Number; public function UTMK(_arg1:Number=NaN){ super("utmk", "__utmk", ["hash"]); this.hash = _arg1; } public function get hash():Number{ return (_hash); } public function set hash(_arg1:Number):void{ _hash = _arg1; update(); } } }//package com.google.analytics.data
Section 116
//UTMV (com.google.analytics.data.UTMV) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMV extends UTMCookie { private var _domainHash:Number; private var _value:String; public function UTMV(_arg1:Number=NaN, _arg2:String=""){ super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.value = _arg2; } public function get value():String{ return (_value); } public function set value(_arg1:String):void{ _value = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } } }//package com.google.analytics.data
Section 117
//UTMX (com.google.analytics.data.UTMX) package com.google.analytics.data { public class UTMX extends UTMCookie { private var _value:String; public function UTMX(){ super("utmx", "__utmx", ["value"], 0); _value = "-"; } public function set value(_arg1:String):void{ _value = _arg1; } public function get value():String{ return (_value); } } }//package com.google.analytics.data
Section 118
//UTMZ (com.google.analytics.data.UTMZ) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMZ extends UTMCookie { private var _domainHash:Number; private var _campaignSessions:Number; private var _campaignTracking:String; private var _responseCount:Number; private var _campaignCreation:Number; public static var defaultTimespan:Number = Timespan.sixmonths; public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){ super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.campaignCreation = _arg2; this.campaignSessions = _arg3; this.responseCount = _arg4; this.campaignTracking = _arg5; } public function get campaignCreation():Number{ return (_campaignCreation); } public function set campaignSessions(_arg1:Number):void{ _campaignSessions = _arg1; update(); } public function set responseCount(_arg1:Number):void{ _responseCount = _arg1; update(); } public function set campaignCreation(_arg1:Number):void{ _campaignCreation = _arg1; update(); } public function get campaignSessions():Number{ return (_campaignSessions); } public function get responseCount():Number{ return (_responseCount); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get campaignTracking():String{ return (_campaignTracking); } public function set campaignTracking(_arg1:String):void{ _campaignTracking = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 119
//X10 (com.google.analytics.data.X10) package com.google.analytics.data { public class X10 { private var _delimEnd:String;// = ")" private var _delimSet:String;// = "*" private var _escapeChar:String;// = "'" private var _delimBegin:String;// = "(" private var _delimNumValue:String;// = "!" private var _key:String;// = "k" private var _set:Array; private var _projectData:Object; private var _hasData:int; private var _escapeCharMap:Object; private var _minimum:int; private var _value:String;// = "v" public function X10(){ _key = "k"; _value = "v"; _set = [_key, _value]; _delimBegin = "("; _delimEnd = ")"; _delimSet = "*"; _delimNumValue = "!"; _escapeChar = "'"; super(); _projectData = {}; _escapeCharMap = {}; _escapeCharMap[_escapeChar] = "'0"; _escapeCharMap[_delimEnd] = "'1"; _escapeCharMap[_delimSet] = "'2"; _escapeCharMap[_delimNumValue] = "'3"; _minimum = 1; } private function _clearInternal(_arg1:Number, _arg2:String):void{ var _local3:Boolean; var _local4:int; var _local5:int; if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ _projectData[_arg1][_arg2] = undefined; _local3 = true; _local5 = _set.length; _local4 = 0; while (_local4 < _local5) { if (_projectData[_arg1][_set[_local4]] != undefined){ _local3 = false; break; }; _local4++; }; if (_local3){ _projectData[_arg1] = undefined; _hasData = (_hasData - 1); }; }; } public function hasData():Boolean{ return ((_hasData > 0)); } private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{ if (!hasProject(_arg1)){ _projectData[_arg1] = {}; }; if (_projectData[_arg1][_arg2] == undefined){ _projectData[_arg1][_arg2] = []; }; _projectData[_arg1][_arg2][_arg3] = _arg4; _hasData = (_hasData + 1); } public function hasProject(_arg1:Number):Boolean{ return (_projectData[_arg1]); } public function clearKey(_arg1:Number):void{ _clearInternal(_arg1, _key); } private function _renderDataType(_arg1:Array):String{ var _local2:Array; var _local3:String; var _local4:int; _local2 = []; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1[_local4] != undefined){ _local3 = ""; if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){ _local3 = (_local3 + _local4.toString()); _local3 = (_local3 + _delimNumValue); }; _local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4])); _local2.push(_local3); }; _local4++; }; return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd)); } public function getKey(_arg1:Number, _arg2:Number):String{ return ((_getInternal(_arg1, _key, _arg2) as String)); } public function clearValue(_arg1:Number):void{ _clearInternal(_arg1, _value); } public function renderMergedUrlString(_arg1:X10=null):String{ var _local2:Array; var _local3:String; if (!_arg1){ return (renderUrlString()); }; _local2 = [_arg1.renderUrlString()]; for (_local3 in _projectData) { if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){ _local2.push((_local3 + _renderProject(_projectData[_local3]))); }; }; return (_local2.join("")); } public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){ return (false); }; _setInternal(_arg1, _value, _arg2, _arg3.toString()); return (true); } public function renderUrlString():String{ var _local1:Array; var _local2:String; _local1 = []; for (_local2 in _projectData) { if (hasProject(Number(_local2))){ _local1.push((_local2 + _renderProject(_projectData[_local2]))); }; }; return (_local1.join("")); } private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{ if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ return (_projectData[_arg1][_arg2][_arg3]); }; return (undefined); } public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{ _setInternal(_arg1, _key, _arg2, _arg3); return (true); } public function getValue(_arg1:Number, _arg2:Number){ var _local3:*; _local3 = _getInternal(_arg1, _value, _arg2); if (_local3 == null){ return (null); }; return (Number(_local3)); } private function _renderProject(_arg1:Object):String{ var _local2:String; var _local3:Boolean; var _local4:int; var _local5:Array; var _local6:int; _local2 = ""; _local3 = false; _local6 = _set.length; _local4 = 0; while (_local4 < _local6) { _local5 = _arg1[_set[_local4]]; if (_local5){ if (_local3){ _local2 = (_local2 + _set[_local4]); }; _local2 = (_local2 + _renderDataType(_local5)); _local3 = false; } else { _local3 = true; }; _local4++; }; return (_local2); } private function _escapeExtensibleValue(_arg1:String):String{ var _local2:String; var _local3:int; var _local4:String; var _local5:String; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); _local5 = _escapeCharMap[_local4]; if (_local5){ _local2 = (_local2 + _local5); } else { _local2 = (_local2 + _local4); }; _local3++; }; return (_local2); } } }//package com.google.analytics.data
Section 120
//_Style (com.google.analytics.debug._Style) package com.google.analytics.debug { import flash.net.*; import flash.text.*; public class _Style { public var borderColor:uint; public var backgroundColor:uint; private var _sheet:StyleSheet; public var roundedCorner:uint; public var alertColor:uint; public var infoColor:uint; public var successColor:uint; private var _loader:URLLoader; public var failureColor:uint; private var _defaultSheet:String; public var warningColor:uint; public function _Style(){ _sheet = new StyleSheet(); _loader = new URLLoader(); _init(); } private function _parseSheet(_arg1:String):void{ _sheet.parseCSS(_arg1); } public function get sheet():StyleSheet{ return (_sheet); } private function _init():void{ _defaultSheet = ""; _defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n"); _defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n"); _defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + "\n"); roundedCorner = 6; backgroundColor = 0xCCCCCC; borderColor = 0x555555; infoColor = 16777113; alertColor = 0xFFCC00; warningColor = 0xCC0000; successColor = 0xFF00; failureColor = 0xFF0000; _parseSheet(_defaultSheet); } } }//package com.google.analytics.debug
Section 121
//Alert (com.google.analytics.debug.Alert) package com.google.analytics.debug { import flash.events.*; public class Alert extends Label { public var actionOnNextLine:Boolean;// = true public var autoClose:Boolean;// = true private var _actions:Array; public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){ var _local8:int; autoClose = true; actionOnNextLine = true; if (_arg4 == 0){ _arg4 = Style.alertColor; }; if (_arg5 == null){ _arg5 = Align.center; }; super(_arg1, _arg3, _arg4, _arg5, _arg6); this.selectable = true; super.mouseChildren = true; this.buttonMode = true; this.mouseEnabled = true; this.useHandCursor = true; this.actionOnNextLine = _arg7; _actions = []; _local8 = 0; while (_local8 < _arg2.length) { _arg2[_local8].container = this; _actions.push(_arg2[_local8]); _local8++; }; } protected function getAction(_arg1:String):AlertAction{ var _local2:int; _local2 = 0; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (_actions[_local2]); }; _local2++; }; return (null); } override protected function layout():void{ super.layout(); _defineActions(); } protected function spaces(_arg1:int):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = ""; _local3 = " "; _local4 = 0; while (_local4 < (_arg1 + 1)) { _local2 = (_local2 + _local3); _local4++; }; return (_local2); } override public function onLink(_arg1:TextEvent):void{ var _local2:AlertAction; if (isValidAction(_arg1.text)){ _local2 = getAction(_arg1.text); if (_local2){ _local2.execute(); }; }; if (autoClose){ close(); }; } protected function isValidAction(_arg1:String):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (true); }; _local2++; }; return (false); } private function _defineActions():void{ var _local1:String; var _local2:Array; var _local3:AlertAction; var _local4:int; _local1 = ""; if (actionOnNextLine){ _local1 = (_local1 + "\n"); } else { _local1 = (_local1 + " |"); }; _local1 = (_local1 + " "); _local2 = []; _local4 = 0; while (_local4 < _actions.length) { _local3 = _actions[_local4]; _local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>")); _local4++; }; _local1 = (_local1 + _local2.join(" | ")); appendText(_local1, "uiAlertAction"); } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 122
//AlertAction (com.google.analytics.debug.AlertAction) package com.google.analytics.debug { public class AlertAction { public var container:Alert; private var _callback; public var name:String; public var activator:String; public function AlertAction(_arg1:String, _arg2:String, _arg3){ this.name = _arg1; this.activator = _arg2; _callback = _arg3; } public function execute():void{ if (_callback){ if ((_callback is Function)){ (_callback as Function)(); } else { if ((_callback is String)){ var _local1 = container; _local1[_callback](); }; }; }; } } }//package com.google.analytics.debug
Section 123
//Align (com.google.analytics.debug.Align) package com.google.analytics.debug { public class Align { private var _value:int; private var _name:String; public static const bottomRight:Align = new Align(18, "bottomRight"); ; public static const right:Align = new Align(16, "right"); ; public static const left:Align = new Align(32, "left"); ; public static const topRight:Align = new Align(17, "topRight"); ; public static const bottom:Align = new Align(2, "bottom"); ; public static const bottomLeft:Align = new Align(34, "bottomLeft"); ; public static const topLeft:Align = new Align(33, "topLeft"); ; public static const center:Align = new Align(0x0100, "center"); ; public static const none:Align = new Align(0, "none"); ; public static const top:Align = new Align(1, "top"); ; public function Align(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 124
//Background (com.google.analytics.debug.Background) package com.google.analytics.debug { import flash.display.*; public class Background { public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{ var _local5:uint; var _local6:uint; var _local7:uint; _local7 = Style.roundedCorner; if ((((_arg3 > 0)) && ((_arg4 > 0)))){ _local5 = _arg3; _local6 = _arg4; } else { _local5 = _arg1.width; _local6 = _arg1.height; }; if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){ switch (_arg1.alignement){ case Align.top: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7); break; case Align.topLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7); break; case Align.topRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0); break; case Align.bottom: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0); break; case Align.bottomLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0); break; case Align.bottomRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0); break; case Align.left: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7); break; case Align.right: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0); break; case Align.center: _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); break; }; } else { _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); }; } } }//package com.google.analytics.debug
Section 125
//Debug (com.google.analytics.debug.Debug) package com.google.analytics.debug { import flash.events.*; import flash.ui.*; public class Debug extends Label { private var _lines:Array; private var _preferredForcedWidth:uint;// = 540 public var maxLines:uint;// = 16 private var _linediff:int;// = 0 public static var count:uint; public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){ _linediff = 0; _preferredForcedWidth = 540; maxLines = 16; if (_arg2 == null){ _arg2 = Align.bottom; }; super("", "uiLabel", _arg1, _arg2, _arg3); this.name = ("Debug" + count++); _lines = []; selectable = true; addEventListener(KeyboardEvent.KEY_DOWN, onKey); } public function close():void{ dispose(); } public function writeBold(_arg1:String):void{ write(_arg1, true); } override protected function dispose():void{ removeEventListener(KeyboardEvent.KEY_DOWN, onKey); super.dispose(); } override public function get forcedWidth():uint{ if (this.parent){ if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){ return (_preferredForcedWidth); }; return (UISprite(this.parent).forcedWidth); } else { }; return (!NULL!); } private function onKey(_arg1:KeyboardEvent=null):void{ var _local2:Array; switch (_arg1.keyCode){ case Keyboard.DOWN: _local2 = _getLinesToDisplay(1); break; case Keyboard.UP: _local2 = _getLinesToDisplay(-1); break; default: _local2 = null; }; if (_local2 == null){ return; }; text = _local2.join("\n"); } public function write(_arg1:String, _arg2:Boolean=false):void{ var _local3:Array; var _local4:String; var _local5:String; var _local6:int; var _local7:Array; if (_arg1.indexOf("") > -1){ _local3 = _arg1.split("\n"); } else { _local3 = [_arg1]; }; _local4 = ""; _local5 = ""; if (_arg2){ _local4 = "<b>"; _local5 = "</b>"; }; _local6 = 0; while (_local6 < _local3.length) { _lines.push(((_local4 + _local3[_local6]) + _local5)); _local6++; }; _local7 = _getLinesToDisplay(); text = _local7.join("\n"); } private function _getLinesToDisplay(_arg1:int=0):Array{ var _local2:Array; var _local3:uint; var _local4:uint; if ((_lines.length - 1) > maxLines){ if ((_linediff <= 0)){ _linediff = (_linediff + _arg1); } else { if ((((_linediff > 0)) && ((_arg1 < 0)))){ _linediff = (_linediff + _arg1); }; }; _local3 = ((_lines.length - maxLines) + _linediff); _local4 = (_local3 + maxLines); _local2 = _lines.slice(_local3, _local4); } else { _local2 = _lines; }; return (_local2); } } }//package com.google.analytics.debug
Section 126
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.utils.*; import flash.ui.*; public class DebugConfiguration { public var showHideKey:Number; private var _mode:VisualDebugMode; private var _verbose:Boolean;// = false public var destroyKey:Number; public var GIFRequests:Boolean;// = false public var infoTimeout:Number;// = 1000 public var showInfos:Boolean;// = true public var minimizedOnStart:Boolean;// = false private var _active:Boolean;// = false public var traceOutput:Boolean;// = false public var layout:ILayout; public var warningTimeout:Number;// = 1500 public var javascript:Boolean;// = false public var showWarnings:Boolean;// = true private var _visualInitialized:Boolean;// = false public function DebugConfiguration(){ _active = false; _verbose = false; _visualInitialized = false; _mode = VisualDebugMode.basic; traceOutput = false; javascript = false; GIFRequests = false; showInfos = true; infoTimeout = 1000; showWarnings = true; warningTimeout = 1500; minimizedOnStart = false; showHideKey = Keyboard.SPACE; destroyKey = Keyboard.BACKSPACE; super(); } public function get verbose():Boolean{ return (_verbose); } public function set verbose(_arg1:Boolean):void{ _verbose = _arg1; } public function set mode(_arg1):void{ if ((_arg1 is String)){ switch (_arg1){ case "geek": _arg1 = VisualDebugMode.geek; break; case "advanced": _arg1 = VisualDebugMode.advanced; break; case "basic": default: _arg1 = VisualDebugMode.basic; }; }; _mode = _arg1; } public function success(_arg1:String):void{ if (layout){ layout.createSuccessAlert(_arg1); }; if (traceOutput){ }; } public function get active():Boolean{ return (_active); } private function _initializeVisual():void{ if (layout){ layout.init(); _visualInitialized = true; }; } private function _destroyVisual():void{ if (((layout) && (_visualInitialized))){ layout.destroy(); }; } public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showWarnings))){ layout.createWarning(_arg1); }; if (traceOutput){ }; } private function _filter(_arg1:VisualDebugMode=null):Boolean{ return (((_arg1) && ((int(_arg1) >= int(this.mode))))); } public function failure(_arg1:String):void{ if (layout){ layout.createFailureAlert(_arg1); }; if (traceOutput){ }; } public function get mode(){ return (_mode); } public function set active(_arg1:Boolean):void{ _active = _arg1; if (_active){ _initializeVisual(); } else { _destroyVisual(); }; } protected function trace(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:Array; var _local8:int; _local2 = []; _local3 = ""; _local4 = ""; if (this.mode == VisualDebugMode.geek){ _local3 = (getTimer() + " - "); _local4 = (new Array(_local3.length).join(" ") + " "); }; if (_arg1.indexOf("\n") > -1){ _local7 = _arg1.split("\n"); _local8 = 0; while (_local8 < _local7.length) { if (_local7[_local8] == ""){ } else { if (_local8 == 0){ _local2.push((_local3 + _local7[_local8])); } else { _local2.push((_local4 + _local7[_local8])); }; }; _local8++; }; } else { _local2.push((_local3 + _arg1)); }; _local5 = _local2.length; _local6 = 0; while (_local6 < _local5) { _local6++; }; } public function alert(_arg1:String):void{ if (layout){ layout.createAlert(_arg1); }; if (traceOutput){ }; } public function info(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showInfos))){ layout.createInfo(_arg1); }; if (traceOutput){ }; } public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ if (layout){ layout.createGIFRequestAlert(_arg1, _arg2, _arg3); }; if (traceOutput){ }; } } }//package com.google.analytics.debug
Section 127
//FailureAlert (com.google.analytics.debug.FailureAlert) package com.google.analytics.debug { public class FailureAlert extends Alert { public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align; var _local5:Boolean; var _local6:Boolean; _local4 = Align.bottomLeft; _local5 = true; _local6 = false; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 128
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert) package com.google.analytics.debug { public class GIFRequestAlert extends Alert { public function GIFRequestAlert(_arg1:String, _arg2:Array){ super(_arg1, _arg2); } } }//package com.google.analytics.debug
Section 129
//ILayout (com.google.analytics.debug.ILayout) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.display.*; import flash.net.*; public interface ILayout { "_-4G"?? function createWarning(_arg1:String):void; "_-4G"?? function addToStage(_arg1:DisplayObject):void; "_-4G"?? function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void; "_-4G"?? function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void; "_-4G"?? function createInfo(_arg1:String):void; "_-4G"?? function createFailureAlert(_arg1:String):void; "_-4G"?? function addToPanel(_arg1:String, _arg2:DisplayObject):void; "_-4G"?? function init():void; "_-4G"?? function createSuccessAlert(_arg1:String):void; "_-4G"?? function createVisualDebug():void; "_-4G"?? function createAlert(_arg1:String):void; "_-4G"?? function destroy():void; "_-4G"?? function bringToFront(_arg1:DisplayObject):void; "_-4G"?? function isAvailable():Boolean; } }//package com.google.analytics.debug
Section 130
//Info (com.google.analytics.debug.Info) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Info extends Label { private var _timer:Timer; public function Info(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiInfo", Style.infoColor, Align.top, true); if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function onComplete(_arg1:TimerEvent):void{ close(); } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 131
//Label (com.google.analytics.debug.Label) package com.google.analytics.debug { import flash.display.*; import flash.events.*; import flash.text.*; public class Label extends UISprite { private var _text:String; private var _textField:TextField; private var _color:uint; protected var selectable:Boolean; public var stickToEdge:Boolean; private var _background:Shape; private var _tag:String; public static var count:uint = 0; public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){ this.name = ("Label" + count++); selectable = false; _background = new Shape(); _textField = new TextField(); _text = _arg1; _tag = _arg2; if (_arg4 == null){ _arg4 = Align.none; }; this.alignement = _arg4; this.stickToEdge = _arg5; if (_arg3 == 0){ _arg3 = Style.backgroundColor; }; _color = _arg3; _textField.addEventListener(TextEvent.LINK, onLink); } override protected function dispose():void{ _textField.removeEventListener(TextEvent.LINK, onLink); super.dispose(); } private function _draw():void{ var _local1:Graphics; var _local2:uint; var _local3:uint; _local1 = _background.graphics; _local1.clear(); _local1.beginFill(_color); _local2 = _textField.width; _local3 = _textField.height; if (forcedWidth > 0){ _local2 = forcedWidth; }; Background.drawRounded(this, _local1, _local2, _local3); _local1.endFill(); } override protected function layout():void{ _textField.type = TextFieldType.DYNAMIC; _textField.autoSize = TextFieldAutoSize.LEFT; _textField.background = false; _textField.selectable = selectable; _textField.multiline = true; _textField.styleSheet = Style.sheet; this.text = _text; addChild(_background); addChild(_textField); } public function get text():String{ return (_textField.text); } public function set tag(_arg1:String):void{ _tag = _arg1; text = ""; } public function set text(_arg1:String):void{ if (_arg1 == ""){ _arg1 = _text; }; _textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>"); _text = _arg1; _draw(); resize(); } public function appendText(_arg1:String, _arg2:String=""):void{ if (_arg1 == ""){ return; }; if (_arg2 == ""){ _arg2 = tag; }; _textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>")); _text = (_text + _arg1); _draw(); resize(); } public function onLink(_arg1:TextEvent):void{ } public function get tag():String{ return (_tag); } } }//package com.google.analytics.debug
Section 132
//Layout (com.google.analytics.debug.Layout) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.display.*; import flash.events.*; import flash.net.*; import com.google.analytics.*; public class Layout implements ILayout { private var _display:DisplayObject; private var _infoQueue:Array; private var _maxCharPerLine:int;// = 85 private var _hasInfo:Boolean; private var _warningQueue:Array; private var _hasDebug:Boolean; private var _hasWarning:Boolean; private var _mainPanel:Panel; private var _GRAlertQueue:Array; private var _debug:DebugConfiguration; public var visualDebug:Debug; private var _hasGRAlert:Boolean; public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){ _maxCharPerLine = 85; super(); _display = _arg2; _debug = _arg1; _hasWarning = false; _hasInfo = false; _hasDebug = false; _hasGRAlert = false; _warningQueue = []; _infoQueue = []; _GRAlertQueue = []; } private function onKey(_arg1:KeyboardEvent=null):void{ switch (_arg1.keyCode){ case _debug.showHideKey: _mainPanel.visible = !(_mainPanel.visible); break; case _debug.destroyKey: destroy(); break; }; } public function bringToFront(_arg1:DisplayObject):void{ _display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1)); } public function createFailureAlert(_arg1:String):void{ var _local2:AlertAction; var _local3:Alert; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; _local3 = new FailureAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function init():void{ var _local1:int; var _local2:uint; var _local3:uint; var _local4:Panel; _local1 = 10; _local2 = (_display.stage.stageWidth - (_local1 * 2)); _local3 = (_display.stage.stageHeight - (_local1 * 2)); _local4 = new Panel("analytics", _local2, _local3); _local4.alignement = Align.top; _local4.stickToEdge = false; _local4.title = ("Google Analytics v" + GATracker.version); _mainPanel = _local4; addToStage(_local4); bringToFront(_local4); if (_debug.minimizedOnStart){ _mainPanel.onToggle(); }; createVisualDebug(); _display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true); } public function addToPanel(_arg1:String, _arg2:DisplayObject):void{ var _local3:DisplayObject; var _local4:Panel; _local3 = _display.stage.getChildByName(_arg1); if (_local3){ _local4 = (_local3 as Panel); _local4.addData(_arg2); //unresolved jump }; } private function _clearInfo(_arg1:Event):void{ _hasInfo = false; if (_infoQueue.length > 0){ createInfo(_infoQueue.shift()); }; } private function _filterMaxChars(_arg1:String, _arg2:int=0):String{ var _local3:String; var _local4:Array; var _local5:Array; var _local6:String; var _local7:int; _local3 = "\n"; _local4 = []; _local5 = _arg1.split(_local3); if (_arg2 == 0){ _arg2 = _maxCharPerLine; }; _local7 = 0; while (_local7 < _local5.length) { _local6 = _local5[_local7]; while (_local6.length > _arg2) { _local4.push(_local6.substr(0, _arg2)); _local6 = _local6.substring(_arg2); }; _local4.push(_local6); _local7++; }; return (_local4.join(_local3)); } public function createWarning(_arg1:String):void{ var _local2:Warning; if (((_hasWarning) || (!(isAvailable())))){ _warningQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasWarning = true; _local2 = new Warning(_arg1, _debug.warningTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } private function _clearGRAlert(_arg1:Event):void{ _hasGRAlert = false; if (_GRAlertQueue.length > 0){ createGIFRequestAlert.apply(this, _GRAlertQueue.shift()); }; } public function createSuccessAlert(_arg1:String):void{ var _local2:AlertAction; var _local3:Alert; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; _local3 = new SuccessAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function isAvailable():Boolean{ return (!((_display.stage == null))); } public function createAlert(_arg1:String):void{ var _local2:Alert; _arg1 = _filterMaxChars(_arg1); _local2 = new Alert(_arg1, [new AlertAction("Close", "close", "close")]); addToPanel("analytics", _local2); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function createInfo(_arg1:String):void{ var _local2:Info; if (((_hasInfo) || (!(isAvailable())))){ _infoQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasInfo = true; _local2 = new Info(_arg1, _debug.infoTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true); if (_hasDebug){ visualDebug.write(_arg1); }; } public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ var f:Function; var gra:GIFRequestAlert; var message = _arg1; var request = _arg2; var ref = _arg3; if (_hasGRAlert){ _GRAlertQueue.push([message, request, ref]); return; }; _hasGRAlert = true; f = function ():void{ ref.sendRequest(request); }; message = _filterMaxChars(message); gra = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]); addToPanel("analytics", gra); gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true); if (_hasDebug){ if (_debug.verbose){ message = message.split("\n").join(""); message = _filterMaxChars(message, 66); }; visualDebug.write(message); }; } public function createVisualDebug():void{ if (!visualDebug){ visualDebug = new Debug(); visualDebug.alignement = Align.bottom; visualDebug.stickToEdge = true; addToPanel("analytics", visualDebug); _hasDebug = true; }; } public function addToStage(_arg1:DisplayObject):void{ _display.stage.addChild(_arg1); } private function _clearWarning(_arg1:Event):void{ _hasWarning = false; if (_warningQueue.length > 0){ createWarning(_warningQueue.shift()); }; } public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{ var _local4:Panel; _local4 = new Panel(_arg1, _arg2, _arg3); _local4.alignement = Align.center; _local4.stickToEdge = false; addToStage(_local4); bringToFront(_local4); } public function destroy():void{ _mainPanel.close(); _debug.layout = null; } } }//package com.google.analytics.debug
Section 133
//Margin (com.google.analytics.debug.Margin) package com.google.analytics.debug { public class Margin { public var bottom:int; public var top:int; public var right:int; public var left:int; public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){ this.top = _arg1; this.bottom = _arg2; this.left = _arg3; this.right = _arg4; } } }//package com.google.analytics.debug
Section 134
//Panel (com.google.analytics.debug.Panel) package com.google.analytics.debug { import flash.display.*; import flash.events.*; public class Panel extends UISprite { protected var baseAlpha:Number; private var _border:Shape; private var _name:String; private var _title:Label; private var _data:UISprite; private var _backgroundColor:uint; private var _colapsed:Boolean; private var _stickToEdge:Boolean; private var _background:Shape; private var _savedW:uint; private var _mask:Sprite; private var _savedH:uint; private var _borderColor:uint; public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){ _name = _arg1; this.name = _arg1; this.mouseEnabled = false; _colapsed = false; forcedWidth = _arg2; forcedHeight = _arg3; this.baseAlpha = _arg6; _background = new Shape(); _data = new UISprite(); _data.forcedWidth = _arg2; _data.forcedHeight = _arg3; _data.mouseEnabled = false; _title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8); _title.buttonMode = true; _title.margin.top = 0.6; _title.margin.left = 0.6; _title.addEventListener(MouseEvent.CLICK, onToggle); _title.mouseChildren = false; _border = new Shape(); _mask = new Sprite(); _mask.useHandCursor = false; _mask.mouseEnabled = false; _mask.mouseChildren = false; if (_arg7 == null){ _arg7 = Align.none; }; this.alignement = _arg7; this.stickToEdge = _arg8; if (_arg4 == 0){ _arg4 = Style.backgroundColor; }; _backgroundColor = _arg4; if (_arg5 == 0){ _arg5 = Style.borderColor; }; _borderColor = _arg5; } public function set stickToEdge(_arg1:Boolean):void{ _stickToEdge = _arg1; _title.stickToEdge = _arg1; } public function onToggle(_arg1:MouseEvent=null):void{ if (_colapsed){ _data.visible = true; } else { _data.visible = false; }; _colapsed = !(_colapsed); _update(); resize(); } override protected function dispose():void{ _title.removeEventListener(MouseEvent.CLICK, onToggle); super.dispose(); } private function _draw():void{ var _local1:uint; var _local2:uint; var _local3:Graphics; var _local4:Graphics; var _local5:Graphics; var _local6:Graphics; if (((_savedW) && (_savedH))){ forcedWidth = _savedW; forcedHeight = _savedH; }; if (!_colapsed){ _local1 = forcedWidth; _local2 = forcedHeight; } else { _local1 = _title.width; _local2 = _title.height; _savedW = forcedWidth; _savedH = forcedHeight; forcedWidth = _local1; forcedHeight = _local2; }; _local3 = _background.graphics; _local3.clear(); _local3.beginFill(_backgroundColor); Background.drawRounded(this, _local3, _local1, _local2); _local3.endFill(); _local4 = _data.graphics; _local4.clear(); _local4.beginFill(_backgroundColor, 0); Background.drawRounded(this, _local4, _local1, _local2); _local4.endFill(); _local5 = _border.graphics; _local5.clear(); _local5.lineStyle(0.1, _borderColor); Background.drawRounded(this, _local5, _local1, _local2); _local5.endFill(); _local6 = _mask.graphics; _local6.clear(); _local6.beginFill(_backgroundColor); Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1)); _local6.endFill(); } override protected function layout():void{ _update(); addChild(_background); addChild(_data); addChild(_title); addChild(_border); addChild(_mask); mask = _mask; } public function get title():String{ return (_title.text); } public function get stickToEdge():Boolean{ return (_stickToEdge); } public function set title(_arg1:String):void{ _title.text = _arg1; } private function _update():void{ _draw(); if (baseAlpha < 1){ _background.alpha = baseAlpha; _border.alpha = baseAlpha; }; } public function addData(_arg1:DisplayObject):void{ _data.addChild(_arg1); } public function close():void{ dispose(); if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 135
//Style (com.google.analytics.debug.Style) package com.google.analytics.debug { public const Style:_Style = new _Style(); }//package com.google.analytics.debug
Section 136
//SuccessAlert (com.google.analytics.debug.SuccessAlert) package com.google.analytics.debug { public class SuccessAlert extends Alert { public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align; var _local5:Boolean; var _local6:Boolean; _local4 = Align.bottomLeft; _local5 = true; _local6 = false; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 137
//UISprite (com.google.analytics.debug.UISprite) package com.google.analytics.debug { import flash.display.*; import flash.events.*; public class UISprite extends Sprite { private var _forcedHeight:uint; protected var listenResize:Boolean; public var alignement:Align; private var _forcedWidth:uint; public var margin:Margin; protected var alignTarget:DisplayObject; public function UISprite(_arg1:DisplayObject=null){ listenResize = false; alignement = Align.none; this.alignTarget = _arg1; margin = new Margin(); addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); } protected function dispose():void{ var _local1:DisplayObject; var _local2:int; _local2 = 0; while (_local2 < numChildren) { _local1 = getChildAt(_local2); if (_local1){ removeChild(_local1); }; _local2++; }; } protected function layout():void{ } public function get forcedHeight():uint{ if (_forcedHeight){ return (_forcedHeight); }; return (height); } public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{ var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:UISprite; if (_arg2 == null){ if ((parent is Stage)){ _arg2 = this.stage; } else { _arg2 = parent; }; }; if (_arg2 == this.stage){ if (this.stage == null){ return; }; _local3 = this.stage.stageHeight; _local4 = this.stage.stageWidth; _local5 = 0; _local6 = 0; } else { _local7 = (_arg2 as UISprite); if (_local7.forcedHeight){ _local3 = _local7.forcedHeight; } else { _local3 = _local7.height; }; if (_local7.forcedWidth){ _local4 = _local7.forcedWidth; } else { _local4 = _local7.width; }; _local5 = 0; _local6 = 0; }; switch (_arg1){ case Align.top: x = ((_local4 / 2) - (forcedWidth / 2)); y = (_local6 + margin.top); break; case Align.bottom: x = ((_local4 / 2) - (forcedWidth / 2)); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.left: x = (_local5 + margin.left); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.right: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.center: x = ((_local4 / 2) - (forcedWidth / 2)); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.topLeft: x = (_local5 + margin.left); y = (_local6 + margin.top); break; case Align.topRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (_local6 + margin.top); break; case Align.bottomLeft: x = (_local5 + margin.left); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.bottomRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; }; if (((!(listenResize)) && (!((_arg1 == Align.none))))){ _arg2.addEventListener(Event.RESIZE, onResize, false, 0, true); listenResize = true; }; this.alignement = _arg1; this.alignTarget = _arg2; } public function get forcedWidth():uint{ if (_forcedWidth){ return (_forcedWidth); }; return (width); } protected function onResize(_arg1:Event):void{ resize(); } private function _onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); dispose(); } public function resize():void{ if (alignement != Align.none){ alignTo(alignement, alignTarget); }; } private function _onAddedToStage(_arg1:Event):void{ layout(); resize(); } public function set forcedHeight(_arg1:uint):void{ _forcedHeight = _arg1; } public function set forcedWidth(_arg1:uint):void{ _forcedWidth = _arg1; } } }//package com.google.analytics.debug
Section 138
//Warning (com.google.analytics.debug.Warning) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Warning extends Label { private var _timer:Timer; public function Warning(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiWarning", Style.warningColor, Align.top, false); margin.top = 32; if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function onComplete(_arg1:TimerEvent):void{ close(); } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 139
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode) package com.google.analytics.debug { public class VisualDebugMode { private var _value:int; private var _name:String; public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced"); ; public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek"); ; public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic"); ; public function VisualDebugMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 140
//Item (com.google.analytics.ecommerce.Item) package com.google.analytics.ecommerce { import com.google.analytics.utils.*; public class Item { private var _id:String; private var _price:String; private var _sku:String; private var _category:String; private var _name:String; private var _quantity:String; public function Item(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String){ this._id = _arg1; this._sku = _arg2; this._name = _arg3; this._category = _arg4; this._price = _arg5; this._quantity = _arg6; } public function set category(_arg1:String):void{ _category = _arg1; } public function get name():String{ return (_name); } public function get price():String{ return (_price); } public function get quantity():String{ return (_quantity); } public function set name(_arg1:String):void{ _name = _arg1; } public function set price(_arg1:String):void{ _price = _arg1; } public function get id():String{ return (_id); } public function get sku():String{ return (_sku); } public function set quantity(_arg1:String):void{ _quantity = _arg1; } public function toGifParams():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; _local1.post = ["utmt", "utmtid", "utmipc", "utmipn", "utmiva", "utmipr", "utmiqt"]; _local1.utmt = "item"; _local1.utmtid = _id; _local1.utmipc = _sku; _local1.utmipn = _name; _local1.utmiva = _category; _local1.utmipr = _price; _local1.utmiqt = _quantity; return (_local1); } public function set id(_arg1:String):void{ _id = _arg1; } public function set sku(_arg1:String):void{ _sku = _arg1; } public function get category():String{ return (_category); } } }//package com.google.analytics.ecommerce
Section 141
//Transaction (com.google.analytics.ecommerce.Transaction) package com.google.analytics.ecommerce { import com.google.analytics.utils.*; public class Transaction { private var _items:Array; private var _total:String; private var _vars:Variables; private var _shipping:String; private var _city:String; private var _state:String; private var _country:String; private var _tax:String; private var _affiliation:String; private var _id:String; public function Transaction(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String){ this._id = _arg1; this._affiliation = _arg2; this._total = _arg3; this._tax = _arg4; this._shipping = _arg5; this._city = _arg6; this._state = _arg7; this._country = _arg8; _items = new Array(); } public function get total():String{ return (_total); } public function getItemFromArray(_arg1:Number):Item{ return (_items[_arg1]); } public function getItem(_arg1:String):Item{ var _local2:Number; _local2 = 0; while (_local2 < _items.length) { if (_items[_local2].sku == _arg1){ return (_items[_local2]); }; _local2++; }; return (null); } public function set total(_arg1:String):void{ _total = _arg1; } public function getItemsLength():Number{ return (_items.length); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String):void{ var _local6:Item; _local6 = getItem(_arg1); if (_local6 == null){ _local6 = new Item(_id, _arg1, _arg2, _arg3, _arg4, _arg5); _items.push(_local6); } else { _local6.name = _arg2; _local6.category = _arg3; _local6.price = _arg4; _local6.quantity = _arg5; }; } public function set shipping(_arg1:String):void{ _shipping = _arg1; } public function get country():String{ return (_country); } public function get state():String{ return (_state); } public function set tax(_arg1:String):void{ _tax = _arg1; } public function set affiliation(_arg1:String):void{ _affiliation = _arg1; } public function set state(_arg1:String):void{ _state = _arg1; } public function get id():String{ return (_id); } public function get tax():String{ return (_tax); } public function toGifParams():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; _local1.utmt = "tran"; _local1.utmtid = id; _local1.utmtst = affiliation; _local1.utmtto = total; _local1.utmttx = tax; _local1.utmtsp = shipping; _local1.utmtci = city; _local1.utmtrg = state; _local1.utmtco = country; _local1.post = ["utmtid", "utmtst", "utmtto", "utmttx", "utmtsp", "utmtci", "utmtrg", "utmtco"]; return (_local1); } public function get affiliation():String{ return (_affiliation); } public function get city():String{ return (_city); } public function get shipping():String{ return (_shipping); } public function set id(_arg1:String):void{ _id = _arg1; } public function set city(_arg1:String):void{ _city = _arg1; } public function set country(_arg1:String):void{ _country = _arg1; } } }//package com.google.analytics.ecommerce
Section 142
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent) package com.google.analytics.events { import flash.events.*; import com.google.analytics.*; public class AnalyticsEvent extends Event { public var tracker:AnalyticsTracker; public static const READY:String = "ready"; public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.tracker = _arg2; } override public function clone():Event{ return (new AnalyticsEvent(type, tracker, bubbles, cancelable)); } } }//package com.google.analytics.events
Section 143
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals) package com.google.analytics.external { import com.google.analytics.debug.*; public class AdSenseGlobals extends JavascriptProxy { private var _gaGlobalVerified:Boolean;// = false public static var gaGlobal_js:XML = <script> <![CDATA[ function() { try { gaGlobal } catch(e) { gaGlobal = {} ; } } ]]> </script> ; public function AdSenseGlobals(_arg1:DebugConfiguration){ _gaGlobalVerified = false; super(_arg1); } public function set vid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.vid", _arg1); } public function get hid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.hid")); } public function get dh():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.dh")); } public function get gaGlobal():Object{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal")); } public function set hid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.hid", _arg1); } public function get sid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.sid")); } private function _verify():void{ if (!_gaGlobalVerified){ executeBlock(gaGlobal_js); _gaGlobalVerified = true; }; } public function get vid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.vid")); } public function set sid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.sid", _arg1); } } }//package com.google.analytics.external
Section 144
//HTMLDOM (com.google.analytics.external.HTMLDOM) package com.google.analytics.external { import com.google.analytics.debug.*; public class HTMLDOM extends JavascriptProxy { private var _referrer:String; private var _protocol:String; private var _host:String; private var _location:String; private var _pathname:String; private var _title:String; private var _characterSet:String; private var _search:String; private var _language:String; private var _colorDepth:String; public static var cache_properties_js:XML = <script> <![CDATA[ function() { var obj = {}; obj.host = document.location.host; obj.language = navigator.language ? navigator.language : navigator.browserLanguage; obj.characterSet = document.characterSet ? document.characterSet : document.charset; obj.colorDepth = window.screen.colorDepth; obj.location = document.location.toString(); obj.pathname = document.location.pathname; obj.protocol = document.location.protocol; obj.search = document.location.search; obj.referrer = document.referrer; obj.title = document.title; return obj; } ]]> </script> ; public function HTMLDOM(_arg1:DebugConfiguration){ super(_arg1); } public function get search():String{ if (_search){ return (_search); }; if (!isAvailable()){ return (null); }; _search = getProperty("document.location.search"); return (_search); } public function get location():String{ if (_location){ return (_location); }; if (!isAvailable()){ return (null); }; _location = getPropertyString("document.location"); return (_location); } public function get pathname():String{ if (_pathname){ return (_pathname); }; if (!isAvailable()){ return (null); }; _pathname = getProperty("document.location.pathname"); return (_pathname); } public function get referrer():String{ if (_referrer){ return (_referrer); }; if (!isAvailable()){ return (null); }; _referrer = getProperty("document.referrer"); return (_referrer); } public function get protocol():String{ if (_protocol){ return (_protocol); }; if (!isAvailable()){ return (null); }; _protocol = getProperty("document.location.protocol"); return (_protocol); } public function cacheProperties():void{ var _local1:Object; if (!isAvailable()){ return; }; _local1 = call(cache_properties_js); if (_local1){ _host = _local1.host; _language = _local1.language; _characterSet = _local1.characterSet; _colorDepth = _local1.colorDepth; _location = _local1.location; _pathname = _local1.pathname; _protocol = _local1.protocol; _search = _local1.search; _referrer = _local1.referrer; _title = _local1.title; }; } public function get colorDepth():String{ if (_colorDepth){ return (_colorDepth); }; if (!isAvailable()){ return (null); }; _colorDepth = getProperty("window.screen.colorDepth"); return (_colorDepth); } public function get title():String{ if (_title){ return (_title); }; if (!isAvailable()){ return (null); }; _title = getProperty("document.title"); return (_title); } public function get host():String{ if (_host){ return (_host); }; if (!isAvailable()){ return (null); }; _host = getProperty("document.location.host"); return (_host); } public function get characterSet():String{ var _local1:String; if (_characterSet){ return (_characterSet); }; if (!isAvailable()){ return (null); }; _local1 = getProperty("document.characterSet"); if (_local1 == null){ _local1 = getProperty("document.charset"); }; _characterSet = _local1; return (_characterSet); } public function get language():String{ var _local1:String; if (_language){ return (_language); }; if (!isAvailable()){ return (null); }; _local1 = getProperty("navigator.language"); if (_local1 == null){ _local1 = getProperty("navigator.browserLanguage"); }; _language = _local1; return (_language); } } }//package com.google.analytics.external
Section 145
//JavascriptProxy (com.google.analytics.external.JavascriptProxy) package com.google.analytics.external { import com.google.analytics.debug.*; import flash.system.*; import flash.external.*; public class JavascriptProxy { private var _notAvailableWarning:Boolean;// = true private var _debug:DebugConfiguration; public static var setProperty_js:XML = <script> <![CDATA[ function( path , value ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } target[ prop ] = value ; } ]]> </script> ; public static var hasProperty_js:XML = <script> <![CDATA[ function( path ) { var paths; if( path.indexOf(".") > 0 ) { paths = path.split("."); } else { paths = [path]; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } if( target ) { return true; } else { return false; } } ]]> </script> ; public static var setPropertyRef_js:XML = <script> <![CDATA[ function( path , target ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } alert( "paths:"+paths.length+", prop:"+prop ); var targets; var name; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } alert( "targets:"+targets.length+", name:"+name ); var root = window; var len = paths.length; for( var i = 0 ; i < len ; i++ ) { root = root[ paths[i] ] ; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } root[ prop ] = ref[name] ; } ]]> </script> ; public function JavascriptProxy(_arg1:DebugConfiguration){ _notAvailableWarning = true; super(); _debug = _arg1; } public function getProperty(_arg1:String){ return (call((_arg1 + ".valueOf"))); } public function hasProperty(_arg1:String):Boolean{ return (call(hasProperty_js, _arg1)); } public function setProperty(_arg1:String, _arg2):void{ call(setProperty_js, _arg1, _arg2); } public function executeBlock(_arg1:String):void{ var data = _arg1; if (isAvailable()){ try { ExternalInterface.call(data); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; } public function getPropertyString(_arg1:String):String{ return (call((_arg1 + ".toString"))); } public function setPropertyByReference(_arg1:String, _arg2:String):void{ call(setPropertyRef_js, _arg1, _arg2); } public function call(_arg1:String, ... _args){ var output:String; var functionName = _arg1; var args = _args; if (isAvailable()){ try { if (((_debug.javascript) && (_debug.verbose))){ output = ""; output = ("Flash->JS: " + functionName); output = (output + "( "); if (args.length > 0){ output = (output + args.join(",")); }; output = (output + " )"); _debug.info(output); }; args.unshift(functionName); return (ExternalInterface.call.apply(ExternalInterface, args)); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; return (null); } public function isAvailable():Boolean{ var _local1:Boolean; _local1 = ExternalInterface.available; if (((_local1) && ((Capabilities.playerType == "External")))){ _local1 = false; }; if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){ _debug.warning("ExternalInterface is not available."); _notAvailableWarning = false; }; return (_local1); } } }//package com.google.analytics.external
Section 146
//Environment (com.google.analytics.utils.Environment) package com.google.analytics.utils { import com.google.analytics.debug.*; import com.google.analytics.core.*; import com.google.analytics.external.*; import flash.system.*; public class Environment { private var _dom:HTMLDOM; private var _appName:String; private var _debug:DebugConfiguration; private var _appVersion:Version; private var _url:String; private var _protocol:Protocols; private var _userAgent:UserAgent; public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){ var _local6:Version; super(); if (_arg2 == ""){ if (isAIR()){ _arg2 = "AIR"; } else { _arg2 = "Flash"; }; }; if (_arg3 == ""){ _local6 = flashVersion; } else { _local6 = Version.fromString(_arg3); }; _url = _arg1; _appName = _arg2; _appVersion = _local6; _debug = _arg4; _dom = _arg5; } public function isAIR():Boolean{ return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application")))); } public function get playerType():String{ return (Capabilities.playerType); } public function get locationSearch():String{ var _local1:String; _local1 = _dom.search; if (_local1){ return (_local1); }; return (""); } public function get protocol():Protocols{ if (!_protocol){ _findProtocol(); }; return (_protocol); } public function get flashVersion():Version{ var _local1:Version; _local1 = Version.fromString(Capabilities.version.split(" ")[1], ","); return (_local1); } public function get screenWidth():Number{ return (Capabilities.screenResolutionX); } public function get languageEncoding():String{ var _local1:String; if (System.useCodePage){ _local1 = _dom.characterSet; if (_local1){ return (_local1); }; return ("-"); }; return ("UTF-8"); } public function get appName():String{ return (_appName); } public function get screenColorDepth():String{ var _local1:String; var _local2:String; switch (Capabilities.screenColor){ case "bw": _local1 = "1"; break; case "gray": _local1 = "2"; break; case "color": default: _local1 = "24"; }; _local2 = _dom.colorDepth; if (_local2){ _local1 = _local2; }; return (_local1); } private function _findProtocol():void{ var _local1:Protocols; var _local2:String; var _local3:String; var _local4:String; var _local5:String; _local1 = Protocols.none; if (_url != ""){ _local4 = _url.toLowerCase(); _local5 = _local4.substr(0, 5); switch (_local5){ case "file:": _local1 = Protocols.file; break; case "http:": _local1 = Protocols.HTTP; break; case "https": if (_local4.charAt(5) == ":"){ _local1 = Protocols.HTTPS; }; break; default: _protocol = Protocols.none; }; }; _local2 = _dom.protocol; _local3 = (_local1.toString() + ":").toLowerCase(); if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){ _debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2)); }; _protocol = _local1; } public function get locationSWFPath():String{ return (_url); } public function get platform():String{ var _local1:String; _local1 = Capabilities.manufacturer; return (_local1.split("Adobe ")[1]); } public function get operatingSystem():String{ return (Capabilities.os); } public function set appName(_arg1:String):void{ _appName = _arg1; userAgent.applicationProduct = _arg1; } public function get userAgent():UserAgent{ if (!_userAgent){ _userAgent = new UserAgent(this, appName, appVersion.toString(4)); }; return (_userAgent); } ga_internal function set url(_arg1:String):void{ _url = _arg1; } public function get referrer():String{ var _local1:String; _local1 = _dom.referrer; if (_local1){ return (_local1); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function isInHTML():Boolean{ return ((Capabilities.playerType == "PlugIn")); } public function get language():String{ var _local1:String; var _local2:String; _local1 = _dom.language; _local2 = Capabilities.language; if (_local1){ if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){ _local2 = _local1; }; }; return (_local2); } public function get domainName():String{ var _local1:String; var _local2:String; var _local3:int; if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){ _local1 = _url.toLowerCase(); if (protocol == Protocols.HTTP){ _local2 = _local1.split("http://").join(""); } else { if (protocol == Protocols.HTTPS){ _local2 = _local1.split("https://").join(""); }; }; _local3 = _local2.indexOf("/"); if (_local3 > -1){ _local2 = _local2.substring(0, _local3); }; return (_local2); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function set userAgent(_arg1:UserAgent):void{ _userAgent = _arg1; } public function set appVersion(_arg1:Version):void{ _appVersion = _arg1; userAgent.applicationVersion = _arg1.toString(4); } public function get screenHeight():Number{ return (Capabilities.screenResolutionY); } public function get locationPath():String{ var _local1:String; _local1 = _dom.pathname; if (_local1){ return (_local1); }; return (""); } public function get documentTitle():String{ var _local1:String; _local1 = _dom.title; if (_local1){ return (_local1); }; return (""); } public function get appVersion():Version{ return (_appVersion); } } }//package com.google.analytics.utils
Section 147
//Protocols (com.google.analytics.utils.Protocols) package com.google.analytics.utils { public class Protocols { private var _value:int; private var _name:String; public static const none:Protocols = new Protocols(0, "none"); ; public static const HTTPS:Protocols = new Protocols(3, "HTTPS"); ; public static const file:Protocols = new Protocols(1, "file"); ; public static const HTTP:Protocols = new Protocols(2, "HTTP"); ; public function Protocols(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.utils
Section 148
//Timespan (com.google.analytics.utils.Timespan) package com.google.analytics.utils { public class Timespan { public static var sixmonths:Number = 15768000; public static var twoyears:Number = 63072000; public static var thirtyminutes:Number = 1800; } }//package com.google.analytics.utils
Section 149
//URL (com.google.analytics.utils.URL) package com.google.analytics.utils { public class URL { private var _url:String; public function URL(_arg1:String=""){ _url = _arg1.toLowerCase(); } public function get domain():String{ var _local1:Array; if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){ _local1 = hostName.split("."); switch (_local1.length){ case 2: return (hostName); case 3: if (_local1[1] == "co"){ return (hostName); }; _local1.shift(); return (_local1.join(".")); case 4: _local1.shift(); return (_local1.join(".")); }; }; return (""); } public function get path():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if (_local1.charAt(0) != "/"){ _local1 = ("/" + _local1); }; return (_local1); } public function get search():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[1]; } else { _local1 = ""; }; return (_local1); } public function get subDomain():String{ if (((!((domain == ""))) && (!((domain == hostName))))){ return (hostName.split(("." + domain)).join("")); }; return (""); } public function get protocol():Protocols{ var _local1:String; _local1 = _url.split("://")[0]; switch (_local1){ case "file": return (Protocols.file); case "http": return (Protocols.HTTP); case "https": return (Protocols.HTTPS); default: return (Protocols.none); }; } public function get hostName():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf("/") > -1){ _local1 = _local1.split("/")[0]; }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){ return (""); }; return (_local1); } } }//package com.google.analytics.utils
Section 150
//UserAgent (com.google.analytics.utils.UserAgent) package com.google.analytics.utils { import com.google.analytics.core.*; import flash.system.*; public class UserAgent { private var _version:Version; private var _localInfo:Environment; private var _applicationProduct:String; public static var minimal:Boolean = false; public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){ _localInfo = _arg1; applicationProduct = _arg2; _version = Version.fromString(_arg3); } public function get tamarinProductToken():String{ if (UserAgent.minimal){ return (""); }; if (System.vmVersion){ return (("Tamarin/" + Utils.trim(System.vmVersion, true))); }; return (""); } public function set applicationProduct(_arg1:String):void{ _applicationProduct = _arg1; } public function get applicationVersion():String{ return (_version.toString(2)); } public function get applicationProductToken():String{ var _local1:String; _local1 = applicationProduct; if (applicationVersion != ""){ _local1 = (_local1 + ("/" + applicationVersion)); }; return (_local1); } public function get vendorProductToken():String{ var _local1:String; _local1 = ""; if (_localInfo.isAIR()){ _local1 = (_local1 + "AIR"); } else { _local1 = (_local1 + "FlashPlayer"); }; _local1 = (_local1 + "/"); _local1 = (_local1 + _version.toString(3)); return (_local1); } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + applicationProductToken); if (applicationComment != ""){ _local1 = (_local1 + (" " + applicationComment)); }; if (tamarinProductToken != ""){ _local1 = (_local1 + (" " + tamarinProductToken)); }; if (vendorProductToken != ""){ _local1 = (_local1 + (" " + vendorProductToken)); }; return (_local1); } public function get applicationComment():String{ var _local1:Array; _local1 = []; _local1.push(_localInfo.platform); _local1.push(_localInfo.playerType); if (!UserAgent.minimal){ _local1.push(_localInfo.operatingSystem); _local1.push(_localInfo.language); }; if (Capabilities.isDebugger){ _local1.push("DEBUG"); }; if (_local1.length > 0){ return ((("(" + _local1.join("; ")) + ")")); }; return (""); } public function set applicationVersion(_arg1:String):void{ _version = Version.fromString(_arg1); } public function get applicationProduct():String{ return (_applicationProduct); } } }//package com.google.analytics.utils
Section 151
//Variables (com.google.analytics.utils.Variables) package com.google.analytics.utils { import flash.net.*; public dynamic class Variables { public var post:Array; public var URIencode:Boolean; public var pre:Array; public var sort:Boolean;// = true public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){ pre = []; post = []; sort = true; super(); if (_arg1){ decode(_arg1); }; if (_arg2){ this.pre = _arg2; }; if (_arg3){ this.post = _arg3; }; } private function _join(_arg1:Variables):void{ var _local2:String; if (!_arg1){ return; }; for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } public function join(... _args):void{ var _local2:int; var _local3:int; _local2 = _args.length; _local3 = 0; while (_local3 < _local2) { if (!(_args[_local3] is Variables)){ } else { _join(_args[_local3]); }; _local3++; }; } public function toString():String{ var _local1:Array; var _local2:String; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:String; var _local8:String; _local1 = []; for (_local3 in this) { _local2 = this[_local3]; if (URIencode){ _local2 = encodeURI(_local2); }; _local1.push(((_local3 + "=") + _local2)); }; if (sort){ _local1.sort(); }; if (pre.length > 0){ pre.reverse(); _local5 = 0; while (_local5 < pre.length) { _local7 = pre[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local7) == 0){ _local1.unshift(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; pre.reverse(); }; if (post.length > 0){ _local5 = 0; while (_local5 < post.length) { _local8 = post[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local8) == 0){ _local1.push(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; }; return (_local1.join("&")); } public function decode(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:String; var _local6:Array; var _local7:int; if (_arg1 == ""){ return; }; if (_arg1.charAt(0) == "?"){ _arg1 = _arg1.substr(1, _arg1.length); }; if (_arg1.indexOf("&") > -1){ _local2 = _arg1.split("&"); } else { _local2 = [_arg1]; }; _local7 = 0; while (_local7 < _local2.length) { _local3 = _local2[_local7]; if (_local3.indexOf("=") > -1){ _local6 = _local3.split("="); _local4 = _local6[0]; _local5 = decodeURI(_local6[1]); this[_local4] = _local5; }; _local7++; }; } public function toURLVariables():URLVariables{ var _local1:URLVariables; var _local2:String; _local1 = new URLVariables(); for (_local2 in this) { _local1[_local2] = this[_local2]; }; return (_local1); } } }//package com.google.analytics.utils
Section 152
//Version (com.google.analytics.utils.Version) package com.google.analytics.utils { public class Version { private var _maxBuild:uint;// = 0xFF private var _maxMinor:uint;// = 15 private var _maxMajor:uint;// = 15 private var _revision:uint; private var _separator:String;// = "." private var _maxRevision:uint;// = 0xFFFF private var _build:uint; private var _minor:uint; private var _major:uint; public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){ var _local5:Version; _maxMajor = 15; _maxMinor = 15; _maxBuild = 0xFF; _maxRevision = 0xFFFF; _separator = "."; super(); if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){ _local5 = Version.fromNumber(_arg1); _arg1 = _local5.major; _arg2 = _local5.minor; _arg3 = _local5.build; _arg4 = _local5.revision; }; this.major = _arg1; this.minor = _arg2; this.build = _arg3; this.revision = _arg4; } public function toString(_arg1:int=0):String{ var _local2:Array; if ((((_arg1 <= 0)) || ((_arg1 > 4)))){ _arg1 = getFields(); }; switch (_arg1){ case 1: _local2 = [major]; break; case 2: _local2 = [major, minor]; break; case 3: _local2 = [major, minor, build]; break; case 4: default: _local2 = [major, minor, build, revision]; }; return (_local2.join(_separator)); } public function get revision():uint{ return (_revision); } public function set build(_arg1:uint):void{ _build = Math.min(_arg1, _maxBuild); } public function set minor(_arg1:uint):void{ _minor = Math.min(_arg1, _maxMinor); } public function get build():uint{ return (_build); } public function set major(_arg1:uint):void{ _major = Math.min(_arg1, _maxMajor); } public function get minor():uint{ return (_minor); } public function valueOf():uint{ return (((((major << 28) | (minor << 24)) | (build << 16)) | revision)); } public function get major():uint{ return (_major); } public function set revision(_arg1:uint):void{ _revision = Math.min(_arg1, _maxRevision); } private function getFields():int{ var _local1:int; _local1 = 4; if (revision == 0){ _local1--; }; if ((((_local1 == 3)) && ((build == 0)))){ _local1--; }; if ((((_local1 == 2)) && ((minor == 0)))){ _local1--; }; return (_local1); } public function equals(_arg1):Boolean{ if (!(_arg1 is Version)){ return (false); }; if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){ return (true); }; return (false); } public static function fromString(_arg1:String="", _arg2:String="."):Version{ var _local3:Version; var _local4:Array; _local3 = new (Version); if ((((_arg1 == "")) || ((_arg1 == null)))){ return (_local3); }; if (_arg1.indexOf(_arg2) > -1){ _local4 = _arg1.split(_arg2); _local3.major = parseInt(_local4[0]); _local3.minor = parseInt(_local4[1]); _local3.build = parseInt(_local4[2]); _local3.revision = parseInt(_local4[3]); } else { _local3.major = parseInt(_arg1); }; return (_local3); } public static function fromNumber(_arg1:Number=0):Version{ var _local2:Version; _local2 = new (Version); if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){ return (_local2); }; _local2.major = (_arg1 >>> 28); _local2.minor = ((_arg1 & 251658240) >>> 24); _local2.build = ((_arg1 & 0xFF0000) >>> 16); _local2.revision = (_arg1 & 0xFFFF); return (_local2); } } }//package com.google.analytics.utils
Section 153
//Bridge (com.google.analytics.v4.Bridge) package com.google.analytics.v4 { import com.google.analytics.debug.*; import com.google.analytics.core.*; import com.google.analytics.external.*; public class Bridge implements GoogleAnalyticsAPI { private var _debug:DebugConfiguration; private var _proxy:JavascriptProxy; private var _jsContainer:String;// = "_GATracker" private var _hasGATracker:Boolean;// = false private var _account:String; private static var _linkTrackingObject_js:XML = <script> <![CDATA[ function( container , target ) { var targets ; var name ; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } window[container][target] = ref[name] ; } ]]> </script> ; private static var _createTrackingObject_js:XML = <script> <![CDATA[ function( acct ) { _GATracker[acct] = _gat._getTracker(acct); } ]]> </script> ; private static var _injectTrackingObject_js:XML = <script> <![CDATA[ function() { try { _GATracker } catch(e) { _GATracker = {}; } } ]]> </script> ; private static var _checkGAJS_js:XML = <script> <![CDATA[ function() { if( _gat && _gat._getTracker ) { return true; } return false; } ]]> </script> ; private static var _checkValidTrackingObject_js:XML = <script> <![CDATA[ function(acct) { if( _GATracker[acct] && (_GATracker[acct]._getAccount) ) { return true ; } else { return false; } } ]]> </script> ; public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){ var _local4:String; var _local5:String; var _local6:String; _hasGATracker = false; _jsContainer = "_GATracker"; super(); _account = _arg1; _debug = _arg2; _proxy = _arg3; if (!_checkGAJS()){ _local4 = ""; _local4 = (_local4 + "ga.js not found, be sure to check if\n"); _local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n"); _local4 = (_local4 + "is included in the HTML."); _debug.warning(_local4); throw (new Error(_local4)); }; if (!_hasGATracker){ if (((_debug.javascript) && (_debug.verbose))){ _local5 = ""; _local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n"); _local5 = (_local5 + "we create it"); _debug.info(_local5, VisualDebugMode.advanced); }; _injectTrackingObject(); }; if (Utils.validateAccount(_arg1)){ _createTrackingObject(_arg1); } else { if (_checkTrackingObject(_arg1)){ _linkTrackingObject(_arg1); } else { _local6 = ""; _local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n")); _local6 = (_local6 + "Bridge object not created."); _debug.warning(_local6); throw (new Error(_local6)); }; }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )")); _call("_link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _call("_addOrganic", _arg1); } public function setAllowLinker(_arg1:Boolean):void{ _debug.info((("setAllowLinker( " + _arg1) + " )")); _call("_setAllowLinker", _arg1); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ _debug.info((((("getLinkerUrl(" + _arg1) + ", ") + _arg2) + ")")); return (_call("_getLinkerUrl", _arg1, _arg2)); } private function _linkTrackingObject(_arg1:String):void{ _proxy.call(_linkTrackingObject_js, _jsContainer, _arg1); } public function setClientInfo(_arg1:Boolean):void{ _debug.info((("setClientInfo( " + _arg1) + " )")); _call("_setClientInfo", _arg1); } public function trackTrans():void{ _debug.info("trackTrans()"); _call("_trackTrans"); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); _call("_trackPageview", _arg1); } public function setCookieTimeout(_arg1:int):void{ _debug.info((("setCookieTimeout( " + _arg1) + " )")); _call("_setCookieTimeout", _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:int; _local5 = 2; if (((_arg3) && (!((_arg3 == ""))))){ _local5 = 3; }; if ((((_local5 == 3)) && (!(isNaN(_arg4))))){ _local5 = 4; }; switch (_local5){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4)); case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3)); case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2)); }; } private function _checkValidTrackingObject(_arg1:String):Boolean{ return (_proxy.call(_checkValidTrackingObject_js, _arg1)); } private function _checkGAJS():Boolean{ return (_proxy.call(_checkGAJS_js)); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented")); } private function _call(_arg1:String, ... _args){ _args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1)); return (_proxy.call.apply(_proxy, _args)); } public function hasGAJS():Boolean{ return (_checkGAJS()); } private function _checkTrackingObject(_arg1:String):Boolean{ var _local2:Boolean; var _local3:Boolean; _local2 = _proxy.hasProperty(_arg1); _local3 = _proxy.hasProperty((_arg1 + "._getAccount")); return (((_local2) && (_local3))); } public function resetSession():void{ _debug.warning("resetSession() not implemented"); } public function setDetectFlash(_arg1:Boolean):void{ _debug.info((("setDetectFlash( " + _arg1) + " )")); _call("_setDetectFlash", _arg1); } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_call("_getDetectTitle")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_call("_getClientInfo")); } public function setCampNameKey(_arg1:String):void{ _debug.info((("setCampNameKey( " + _arg1) + " )")); _call("_setCampNameKey", _arg1); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); _call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _call("_clearIgnoreOrganic"); } public function setVar(_arg1:String):void{ _debug.info((("setVar( " + _arg1) + " )")); _call("_setVar", _arg1); } public function setDomainName(_arg1:String):void{ _debug.info((("setDomainName( " + _arg1) + " )")); _call("_setDomainName", _arg1); } public function hasTrackingAccount(_arg1:String):Boolean{ if (Utils.validateAccount(_arg1)){ return (_checkValidTrackingObject(_arg1)); }; return (_checkTrackingObject(_arg1)); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )")); _call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setCampSourceKey(_arg1:String):void{ _debug.info((("setCampSourceKey( " + _arg1) + " )")); _call("_setCampSourceKey", _arg1); } public function setCampContentKey(_arg1:String):void{ _debug.info((("setCampContentKey( " + _arg1) + " )")); _call("_setCampContentKey", _arg1); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _call("_clearIgnoreRef"); } public function setLocalServerMode():void{ _debug.info("setLocalServerMode()"); _call("_setLocalServerMode"); } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_call("_getLocalGifPath")); } public function setAllowAnchor(_arg1:Boolean):void{ _debug.info((("setAllowAnchor( " + _arg1) + " )")); _call("_setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ _debug.info((("setLocalGifPath( " + _arg1) + " )")); _call("_setLocalGifPath", _arg1); } public function getVersion():String{ _debug.info("getVersion()"); return (_call("_getVersion")); } private function _injectTrackingObject():void{ _proxy.executeBlock(_injectTrackingObject_js); _hasGATracker = true; } public function setCookiePath(_arg1:String):void{ _debug.info((("setCookiePath( " + _arg1) + " )")); _call("_setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ _debug.info((("setSampleRate( " + _arg1) + " )")); _call("_setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ _debug.info((("setAllowHash( " + _arg1) + " )")); _call("_setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _call("_addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ _debug.info((("setCampNOKey( " + _arg1) + " )")); _call("_setCampNOKey", _arg1); } public function cookiePathCopy(_arg1:String):void{ _debug.info((("cookiePathCopy( " + _arg1) + " )")); _call("_cookiePathCopy", _arg1); } public function setLocalRemoteServerMode():void{ _debug.info("setLocalRemoteServerMode()"); _call("_setLocalRemoteServerMode"); } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_call("_getServiceMode")); } public function setDetectTitle(_arg1:Boolean):void{ _debug.info((("setDetectTitle( " + _arg1) + " )")); _call("_setDetectTitle", _arg1); } public function setCampTermKey(_arg1:String):void{ _debug.info((("setCampTermKey( " + _arg1) + " )")); _call("_setCampTermKey", _arg1); } private function _createTrackingObject(_arg1:String):void{ _proxy.call(_createTrackingObject_js, _arg1); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_call("_getDetectFlash")); } public function setCampaignTrack(_arg1:Boolean):void{ _debug.info((("setCampaignTrack( " + _arg1) + " )")); _call("_setCampaignTrack", _arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _call("_clearOrganic"); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _call("_addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ _debug.info((("setCampMediumKey( " + _arg1) + " )")); _call("_setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ _debug.info((("setSessionTimeout( " + _arg1) + " )")); _call("_setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ _debug.info("setRemoteServerMode()"); _call("_setRemoteServerMode"); } public function getAccount():String{ _debug.info("getAccount()"); return (_call("_getAccount")); } } }//package com.google.analytics.v4
Section 154
//Configuration (com.google.analytics.v4.Configuration) package com.google.analytics.v4 { import com.google.analytics.debug.*; import com.google.analytics.core.*; import com.google.analytics.utils.*; import com.google.analytics.campaign.*; public class Configuration { public var serverMode:ServerOperationMode; public var detectFlash:Boolean;// = true public var allowLocalTracking:Boolean;// = true public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif" public var hasSiteOverlay:Boolean;// = false private var _version:String;// = "4.3as" public var allowDomainHash:Boolean;// = true public var detectClientInfo:Boolean;// = true public var idleLoop:Number;// = 30 public var isTrackOutboundSubdomains:Boolean;// = false public var cookiePath:String;// = "/" public var transactionFieldDelim:String;// = "|" private var _organic:Organic; private var _cookieName:String;// = "analytics" public var campaignKey:CampaignKey; public var google:String;// = "google" public var googleCsePath:String;// = "cse" public var bucketCapacity:Number;// = 10 private var _sampleRate:Number;// = 1 public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif" public var googleSearchParam:String;// = "q" public var allowLinker:Boolean;// = false public var maxOutboundLinkExamined:Number;// = 1000 private var _debug:DebugConfiguration; private var _trackingLimitPerSession:int;// = 500 private var _domain:Domain; public var allowAnchor:Boolean;// = false public var tokenCliff:int;// = 10 public var sessionTimeout:Number; public var idleTimeout:Number;// = 60 public var campaignTracking:Boolean;// = true public var domainName:String;// = "" public var detectTitle:Boolean;// = true public var tokenRate:Number;// = 0.2 public var conversionTimeout:Number; public var localGIFpath:String;// = "/__utm.gif" public function Configuration(_arg1:DebugConfiguration=null){ _version = "4.3as"; _sampleRate = 1; _trackingLimitPerSession = 500; _organic = new Organic(); googleCsePath = "cse"; googleSearchParam = "q"; google = "google"; _cookieName = "analytics"; allowDomainHash = true; allowAnchor = false; allowLinker = false; hasSiteOverlay = false; tokenRate = 0.2; conversionTimeout = Timespan.sixmonths; sessionTimeout = Timespan.thirtyminutes; idleLoop = 30; idleTimeout = 60; maxOutboundLinkExamined = 1000; tokenCliff = 10; bucketCapacity = 10; detectClientInfo = true; detectFlash = true; detectTitle = true; campaignKey = new CampaignKey(); campaignTracking = true; isTrackOutboundSubdomains = false; serverMode = ServerOperationMode.remote; localGIFpath = "/__utm.gif"; remoteGIFpath = "http://www.google-analytics.com/__utm.gif"; secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif"; cookiePath = "/"; transactionFieldDelim = "|"; domainName = ""; allowLocalTracking = true; super(); _debug = _arg1; _domain = new Domain(DomainNameMode.auto, "", _debug); serverMode = ServerOperationMode.remote; _initOrganicSources(); } public function get organic():Organic{ return (_organic); } public function get trackingLimitPerSession():int{ return (_trackingLimitPerSession); } private function _initOrganicSources():void{ addOrganicSource(google, googleSearchParam); addOrganicSource("yahoo", "p"); addOrganicSource("msn", "q"); addOrganicSource("aol", "query"); addOrganicSource("aol", "encquery"); addOrganicSource("lycos", "query"); addOrganicSource("ask", "q"); addOrganicSource("altavista", "q"); addOrganicSource("netscape", "query"); addOrganicSource("cnn", "query"); addOrganicSource("looksmart", "qt"); addOrganicSource("about", "terms"); addOrganicSource("mamma", "query"); addOrganicSource("alltheweb", "q"); addOrganicSource("gigablast", "q"); addOrganicSource("voila", "rdata"); addOrganicSource("virgilio", "qs"); addOrganicSource("live", "q"); addOrganicSource("baidu", "wd"); addOrganicSource("alice", "qs"); addOrganicSource("yandex", "text"); addOrganicSource("najdi", "q"); addOrganicSource("aol", "q"); addOrganicSource("club-internet", "q"); addOrganicSource("mama", "query"); addOrganicSource("seznam", "q"); addOrganicSource("search", "q"); addOrganicSource("wp", "szukaj"); addOrganicSource("onet", "qt"); addOrganicSource("netsprint", "q"); addOrganicSource("google.interia", "q"); addOrganicSource("szukacz", "q"); addOrganicSource("yam", "k"); addOrganicSource("pchome", "q"); addOrganicSource("kvasir", "searchExpr"); addOrganicSource("sesam", "q"); addOrganicSource("ozu", "q"); addOrganicSource("terra", "query"); addOrganicSource("nostrum", "query"); addOrganicSource("mynet", "q"); addOrganicSource("ekolay", "q"); addOrganicSource("search.ilse", "search_for"); } public function get sampleRate():Number{ return (_sampleRate); } public function get cookieName():String{ return (_cookieName); } public function addOrganicSource(_arg1:String, _arg2:String):void{ var engine = _arg1; var keyword = _arg2; try { _organic.addSource(engine, keyword); } catch(e:Error) { if (((_debug) && (_debug.active))){ _debug.warning(e.message); }; }; } public function get domain():Domain{ return (_domain); } public function set sampleRate(_arg1:Number):void{ if (_arg1 <= 0){ _arg1 = 0.1; }; if (_arg1 > 1){ _arg1 = 1; }; _arg1 = Number(_arg1.toFixed(2)); _sampleRate = _arg1; } public function get version():String{ return (_version); } } }//package com.google.analytics.v4
Section 155
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI) package com.google.analytics.v4 { import com.google.analytics.core.*; public interface GoogleAnalyticsAPI { "_-6B"?? function setCampSourceKey(_arg1:String):void; "_-6B"?? function setCampContentKey(_arg1:String):void; "_-6B"?? function addOrganic(_arg1:String, _arg2:String):void; "_-6B"?? function setAllowLinker(_arg1:Boolean):void; "_-6B"?? function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String; "_-6B"?? function getLocalGifPath():String; "_-6B"?? function clearIgnoredRef():void; "_-6B"?? function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void; "_-6B"?? function setCookieTimeout(_arg1:int):void; "_-6B"?? function setAllowAnchor(_arg1:Boolean):void; "_-6B"?? function trackTrans():void; "_-6B"?? function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean; "_-6B"?? function trackPageview(_arg1:String=""):void; "_-6B"?? function setLocalGifPath(_arg1:String):void; "_-6B"?? function getVersion():String; "_-6B"?? function setLocalServerMode():void; "_-6B"?? function setClientInfo(_arg1:Boolean):void; "_-6B"?? function setCookiePath(_arg1:String):void; "_-6B"?? function setSampleRate(_arg1:Number):void; "_-6B"?? function linkByPost(_arg1:Object, _arg2:Boolean=false):void; "_-6B"?? function setDetectTitle(_arg1:Boolean):void; "_-6B"?? function setLocalRemoteServerMode():void; "_-6B"?? function addIgnoredOrganic(_arg1:String):void; "_-6B"?? function setCampNOKey(_arg1:String):void; "_-6B"?? function setAllowHash(_arg1:Boolean):void; "_-6B"?? function cookiePathCopy(_arg1:String):void; "_-6B"?? function getDetectTitle():Boolean; "_-6B"?? function getServiceMode():ServerOperationMode; "_-6B"?? function resetSession():void; "_-6B"?? function getClientInfo():Boolean; "_-6B"?? function setDetectFlash(_arg1:Boolean):void; "_-6B"?? function setCampTermKey(_arg1:String):void; "_-6B"?? function setCampNameKey(_arg1:String):void; "_-6B"?? function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void; "_-6B"?? function getDetectFlash():Boolean; "_-6B"?? function setCampaignTrack(_arg1:Boolean):void; "_-6B"?? function createEventTracker(_arg1:String):EventTracker; "_-6B"?? function clearOrganic():void; "_-6B"?? function addIgnoredRef(_arg1:String):void; "_-6B"?? function setVar(_arg1:String):void; "_-6B"?? function clearIgnoredOrganic():void; "_-6B"?? function setCampMediumKey(_arg1:String):void; "_-6B"?? function setSessionTimeout(_arg1:int):void; "_-6B"?? function setRemoteServerMode():void; "_-6B"?? function setDomainName(_arg1:String):void; "_-6B"?? function getAccount():String; "_-6B"?? function link(_arg1:String, _arg2:Boolean=false):void; } }//package com.google.analytics.v4
Section 156
//Tracker (com.google.analytics.v4.Tracker) package com.google.analytics.v4 { import com.google.analytics.debug.*; import com.google.analytics.core.*; import com.google.analytics.utils.*; import com.google.analytics.data.*; import flash.net.*; import com.google.analytics.campaign.*; import com.google.analytics.external.*; import com.google.analytics.ecommerce.*; public class Tracker implements GoogleAnalyticsAPI { private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3; private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1; private const EVENT_TRACKER_PROJECT_ID:int = 5; private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1; private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2; private var _adSense:AdSenseGlobals; private var _eventTracker:X10; private var _noSessionInformation:Boolean;// = false private var _browserInfo:BrowserInfo; private var _debug:DebugConfiguration; private var _isNewVisitor:Boolean;// = false private var _buffer:Buffer; private var _config:Configuration; private var _x10Module:X10; private var _campaign:CampaignManager; private var _formatedReferrer:String; private var _timeStamp:Number; private var _info:Environment; private var _domainHash:Number; private var _campaignInfo:CampaignInfo; private var _gifRequest:GIFRequest; private var _hasInitData:Boolean;// = false private var _ecom:Ecommerce; private var _account:String; public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals, _arg8:Ecommerce){ var _local9:String; _hasInitData = false; _isNewVisitor = false; _noSessionInformation = false; super(); _account = _arg1; _config = _arg2; _debug = _arg3; _info = _arg4; _buffer = _arg5; _gifRequest = _arg6; _adSense = _arg7; _ecom = _arg8; if (!Utils.validateAccount(_arg1)){ _local9 = (("Account \"" + _arg1) + "\" is not valid."); _debug.warning(_local9); throw (new Error(_local9)); }; } private function _doTracking():Boolean{ if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){ return (true); }; if (_config.allowLocalTracking){ return (true); }; return (false); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _config.organic.addSource(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _config.allowLinker = _arg1; _debug.info((("setAllowLinker( " + _config.allowLinker) + " )")); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ _initData(); _debug.info((((("getLinkerUrl( " + _arg1) + ", ") + _arg2.toString()) + " )")); return (_buffer.getLinkerUrl(_arg1, _arg2)); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); if (_doTracking()){ _initData(); _trackMetrics(_arg1); _noSessionInformation = false; } else { _debug.warning((("trackPageview( " + _arg1) + " ) failed")); }; } public function setCookieTimeout(_arg1:int):void{ _config.conversionTimeout = _arg1; _debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )")); } public function trackTrans():void{ var _local1:Number; var _local2:Number; var _local3:Array; var _local4:Transaction; _initData(); _local3 = new Array(); if (_takeSample()){ _local1 = 0; while (_local1 < _ecom.getTransLength()) { _local4 = _ecom.getTransFromArray(_local1); _local3.push(_local4.toGifParams()); _local2 = 0; while (_local2 < _local4.getItemsLength()) { _local3.push(_local4.getItemFromArray(_local2).toGifParams()); _local2++; }; _local1++; }; _local1 = 0; while (_local1 < _local3.length) { _gifRequest.send(_account, _local3[_local1]); _local1++; }; }; } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:Boolean; var _local6:int; _initData(); _local5 = true; _local6 = 2; if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){ _eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID); _eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2); if (_arg3){ _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3); _local6 = 3; }; if (!isNaN(_arg4)){ _local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4); _local6 = 4; }; if (_local5){ _debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _sendXEvent(_eventTracker); }; } else { _debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _local5 = false; }; switch (_local6){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); break; case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); break; case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); }; return (_local5); } public function setClientInfo(_arg1:Boolean):void{ _config.detectClientInfo = _arg1; _debug.info((("setClientInfo( " + _config.detectClientInfo) + " )")); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning("linkByPost not implemented in AS3 mode"); } private function _initData():void{ var _local1:String; var _local2:String; if (!_hasInitData){ _updateDomainName(); _domainHash = _getDomainHash(); _timeStamp = Math.round((new Date().getTime() / 1000)); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "_initData 0"); _local1 = (_local1 + ("\ndomain name: " + _config.domainName)); _local1 = (_local1 + ("\ndomain hash: " + _domainHash)); _local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_doTracking()){ _handleCookie(); }; if (!_hasInitData){ if (_doTracking()){ _formatedReferrer = _formatReferrer(); _browserInfo = new BrowserInfo(_config, _info); _debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced); if (_config.campaignTracking){ _campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp); _campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation); _debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced); _debug.info(("Search: " + _info.locationSearch)); _debug.info(("CampaignTrackig: " + _buffer.utmz.campaignTracking)); }; }; _x10Module = new X10(); _eventTracker = new X10(); _hasInitData = true; }; if (_config.hasSiteOverlay){ _debug.warning("Site Overlay is not supported"); }; if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "_initData (misc)"); _local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4))); _local2 = (_local2 + ("\nprotocol: " + _info.protocol)); _local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\"")); _local2 = (_local2 + ("\nlanguage: " + _info.language)); _local2 = (_local2 + ("\ndomain hash: " + _getDomainHash())); _local2 = (_local2 + ("\nuser-agent: " + _info.userAgent)); _debug.info(_local2, VisualDebugMode.geek); }; } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_config.detectTitle); } public function resetSession():void{ _debug.info("resetSession()"); _buffer.resetCurrentSession(); } private function _sendXEvent(_arg1:X10=null):void{ var _local2:Variables; var _local3:EventInfo; var _local4:Variables; var _local5:Variables; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; _local3 = new EventInfo(true, _x10Module, _arg1); _local4 = _local3.toVariables(); _local5 = _renderMetricsSearchVariables(); _local2.join(_local4, _local5); _gifRequest.send(_account, _local2, false, true); }; } public function setDetectFlash(_arg1:Boolean):void{ _config.detectFlash = _arg1; _debug.info((("setDetectFlash( " + _config.detectFlash) + " )")); } public function setCampNameKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCCN = _arg1; _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCN]")); } else { _debug.info(_local2); }; } private function _formatReferrer():String{ var _local1:String; var _local2:String; var _local3:URL; var _local4:URL; _local1 = _info.referrer; if ((((_local1 == "")) || ((_local1 == "localhost")))){ _local1 = "-"; } else { _local2 = _info.domainName; _local3 = new URL(_local1); _local4 = new URL(("http://" + _local2)); if (_local3.hostName == _local2){ return ("-"); }; if (_local4.domain == _local3.domain){ if (_local4.subDomain != _local3.subDomain){ _local1 = "0"; }; }; if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){ _local1 = "-"; }; }; _debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced); return (_local1); } private function _visitCode():Number{ if (_debug.verbose){ _debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek); }; return (_buffer.utma.sessionId); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ var _local7:Transaction; _local7 = _ecom.getTransaction(_arg1); if (_local7 == null){ _local7 = _ecom.addTransaction(_arg1, "", "", "", "", "", "", ""); }; _local7.addItem(_arg2, _arg3, _arg4, _arg5.toString(), _arg6.toString()); if (_debug.active){ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); }; } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _config.organic.clearIgnoredKeywords(); } public function setVar(_arg1:String):void{ var _local2:Variables; if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){ _initData(); _buffer.utmv.domainHash = _domainHash; _buffer.utmv.value = encodeURI(_arg1); if (_debug.verbose){ _debug.info(_buffer.utmv.toString(), VisualDebugMode.geek); }; _debug.info((("setVar( " + _arg1) + " )")); if (_takeSample()){ _local2 = new Variables(); _local2.utmt = "var"; _gifRequest.send(_account, _local2); }; } else { _debug.warning((("setVar \"" + _arg1) + "\" is ignored")); }; } public function setDomainName(_arg1:String):void{ if (_arg1 == "auto"){ _config.domain.mode = DomainNameMode.auto; } else { if (_arg1 == "none"){ _config.domain.mode = DomainNameMode.none; } else { _config.domain.mode = DomainNameMode.custom; _config.domain.name = _arg1; }; }; _updateDomainName(); _debug.info((("setDomainName( " + _config.domainName) + " )")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_config.detectClientInfo); } private function _updateDomainName():void{ var _local1:String; if (_config.domain.mode == DomainNameMode.auto){ _local1 = _info.domainName; if (_local1.substring(0, 4) == "www."){ _local1 = _local1.substring(4); }; _config.domain.name = _local1; }; _config.domainName = _config.domain.name.toLowerCase(); _debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ _ecom.addTransaction(_arg1, _arg2, _arg3.toString(), _arg4.toString(), _arg5.toString(), _arg6, _arg7, _arg8); if (_debug.active){ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " );")); }; } public function setCampContentKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCCT = _arg1; _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCT]")); } else { _debug.info(_local2); }; } private function _handleCookie():void{ var _local1:String; var _local2:String; var _local3:Array; var _local4:String; if (_config.allowLinker){ }; _buffer.createSO(); if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){ if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){ _buffer.updateUTMA(_timeStamp); _noSessionInformation = true; }; if (_debug.verbose){ _debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek); }; } else { _debug.info("create a new utma", VisualDebugMode.advanced); _buffer.utma.domainHash = _domainHash; _buffer.utma.sessionId = _getUniqueSessionId(); _buffer.utma.firstTime = _timeStamp; _buffer.utma.lastTime = _timeStamp; _buffer.utma.currentTime = _timeStamp; _buffer.utma.sessionCount = 1; if (_debug.verbose){ _debug.info(_buffer.utma.toString(), VisualDebugMode.geek); }; _noSessionInformation = true; _isNewVisitor = true; }; if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){ if (_adSense.sid){ _buffer.utma.currentTime = Number(_adSense.sid); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "AdSense sid found\n"); _local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_isNewVisitor){ if (_adSense.sid){ _buffer.utma.lastTime = Number(_adSense.sid); if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "AdSense sid found (new visitor)\n"); _local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local2, VisualDebugMode.geek); }; }; if (_adSense.vid){ _local3 = _adSense.vid.split("."); _buffer.utma.sessionId = Number(_local3[0]); _buffer.utma.firstTime = Number(_local3[1]); if (_debug.verbose){ _local4 = ""; _local4 = (_local4 + "AdSense vid found (new visitor)\n"); _local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n")); _local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")")); _debug.info(_local4, VisualDebugMode.geek); }; }; if (_debug.verbose){ _debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek); }; }; }; _buffer.utmb.domainHash = _domainHash; if (isNaN(_buffer.utmb.trackCount)){ _buffer.utmb.trackCount = 0; }; if (isNaN(_buffer.utmb.token)){ _buffer.utmb.token = _config.tokenCliff; }; if (isNaN(_buffer.utmb.lastTime)){ _buffer.utmb.lastTime = _buffer.utma.currentTime; }; _buffer.utmc.domainHash = _domainHash; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced); _debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced); }; } public function setLocalServerMode():void{ _config.serverMode = ServerOperationMode.local; _debug.info("setLocalServerMode()"); } private function _renderMetricsSearchVariables(_arg1:String=""):Variables{ var _local2:Variables; var _local3:DocumentInfo; var _local4:Variables; var _local5:Variables; _local2 = new Variables(); _local2.URIencode = true; _local3 = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense); _debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek); if (_config.campaignTracking){ _local4 = _campaignInfo.toVariables(); }; _local5 = _browserInfo.toVariables(); _local2.join(_local3.toVariables(), _local5, _local4); return (_local2); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _config.organic.clearIgnoredReferrals(); } public function setCampSourceKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCSR = _arg1; _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCSR]")); } else { _debug.info(_local2); }; } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_config.localGIFpath); } public function setLocalGifPath(_arg1:String):void{ _config.localGIFpath = _arg1; _debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )")); } public function getVersion():String{ _debug.info("getVersion()"); return (_config.version); } public function setAllowAnchor(_arg1:Boolean):void{ _config.allowAnchor = _arg1; _debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )")); } private function _isNotGoogleSearch():Boolean{ var _local1:String; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; _local1 = _config.domainName; _local2 = (_local1.indexOf("www.google.") < 0); _local3 = (_local1.indexOf(".google.") < 0); _local4 = (_local1.indexOf("google.") < 0); _local5 = (_local1.indexOf("google.org") > -1); return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5))); } public function setSampleRate(_arg1:Number):void{ if (_arg1 < 0){ _debug.warning("sample rate can not be negative, ignoring value."); } else { _config.sampleRate = _arg1; }; _debug.info((("setSampleRate( " + _config.sampleRate) + " )")); } private function _takeSample():Boolean{ if (_debug.verbose){ _debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek); }; return (((_visitCode() % 10000) < (_config.sampleRate * 10000))); } public function setCookiePath(_arg1:String):void{ _config.cookiePath = _arg1; _debug.info((("setCookiePath( " + _config.cookiePath) + " )")); } public function setAllowHash(_arg1:Boolean):void{ _config.allowDomainHash = _arg1; _debug.info((("setAllowHash( " + _config.allowDomainHash) + " )")); } private function _generateUserDataHash():Number{ var _local1:String; _local1 = ""; _local1 = (_local1 + _info.appName); _local1 = (_local1 + _info.appVersion); _local1 = (_local1 + _info.language); _local1 = (_local1 + _info.platform); _local1 = (_local1 + _info.userAgent.toString()); _local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth)); _local1 = (_local1 + _info.referrer); return (Utils.generateHash(_local1)); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _config.organic.addIgnoredKeyword(_arg1); } public function setLocalRemoteServerMode():void{ _config.serverMode = ServerOperationMode.both; _debug.info("setLocalRemoteServerMode()"); } public function cookiePathCopy(_arg1:String):void{ _debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented")); } public function setDetectTitle(_arg1:Boolean):void{ _config.detectTitle = _arg1; _debug.info((("setDetectTitle( " + _config.detectTitle) + " )")); } public function setCampTermKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCTR = _arg1; _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCTR]")); } else { _debug.info(_local2); }; } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_config.serverMode); } public function setCampNOKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCNO = _arg1; _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCNO]")); } else { _debug.info(_local2); }; } private function _trackMetrics(_arg1:String=""):void{ var _local2:Variables; var _local3:Variables; var _local4:Variables; var _local5:EventInfo; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; if (((_x10Module) && (_x10Module.hasData()))){ _local5 = new EventInfo(false, _x10Module); _local3 = _local5.toVariables(); }; _local4 = _renderMetricsSearchVariables(_arg1); _local2.join(_local3, _local4); _gifRequest.send(_account, _local2); }; } public function setCampaignTrack(_arg1:Boolean):void{ _config.campaignTracking = _arg1; _debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )")); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _config.organic.addIgnoredReferral(_arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _config.organic.clearEngines(); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_config.detectFlash); } public function setCampMediumKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCMD = _arg1; _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCMD]")); } else { _debug.info(_local2); }; } private function _getUniqueSessionId():Number{ var _local1:Number; _local1 = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647); _debug.info(("Session ID: " + _local1), VisualDebugMode.geek); return (_local1); } private function _getDomainHash():Number{ if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){ _config.domainName = ""; return (1); }; _updateDomainName(); if (_config.allowDomainHash){ return (Utils.generateHash(_config.domainName)); }; return (1); } public function setSessionTimeout(_arg1:int):void{ _config.sessionTimeout = _arg1; _debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )")); } public function getAccount():String{ _debug.info("getAccount()"); return (_account); } public function link(_arg1:String, _arg2:Boolean=false):void{ var out:String; var request:URLRequest; var targetUrl = _arg1; var useHash = _arg2; _initData(); out = _buffer.getLinkerUrl(targetUrl, useHash); request = new URLRequest(out); _debug.info((("link( " + [targetUrl, useHash].join(",")) + " )")); try { navigateToURL(request, "_top"); } catch(e:Error) { _debug.warning(("An error occured in link() msg: " + e.message)); }; } public function setRemoteServerMode():void{ _config.serverMode = ServerOperationMode.remote; _debug.info("setRemoteServerMode()"); } } }//package com.google.analytics.v4
Section 157
//AnalyticsTracker (com.google.analytics.AnalyticsTracker) package com.google.analytics { import com.google.analytics.debug.*; import flash.events.*; import com.google.analytics.v4.*; public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher { "_-8U"?? function set config(_arg1:Configuration):void; "_-8U"?? function isReady():Boolean; "_-8U"?? function get mode():String; "_-8U"?? function get account():String; "_-8U"?? function set mode(_arg1:String):void; "_-8U"?? function set debug(_arg1:DebugConfiguration):void; "_-8U"?? function get config():Configuration; "_-8U"?? function get debug():DebugConfiguration; "_-8U"?? function set account(_arg1:String):void; "_-8U"?? function get visualDebug():Boolean; "_-8U"?? function set visualDebug(_arg1:Boolean):void; } }//package com.google.analytics
Section 158
//API (com.google.analytics.API) package com.google.analytics { import com.google.analytics.utils.*; public class API { public static var version:Version = new Version(); version.major = 1; version.minor = 0; version.build = 1; version.revision = "$Rev: 319 $ ".split(" ")[1]; } }//package com.google.analytics
Section 159
//GATracker (com.google.analytics.GATracker) package com.google.analytics { import com.google.analytics.debug.*; import com.google.analytics.core.*; import flash.display.*; import com.google.analytics.utils.*; import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.external.*; import com.google.analytics.events.*; public class GATracker implements AnalyticsTracker { private var _adSense:AdSenseGlobals; private var _env:Environment; private var _visualDebug:Boolean; private var _idleTimer:IdleTimer; private var _debug:DebugConfiguration; private var _buffer:Buffer; private var _config:Configuration; private var _mode:String; private var _display:DisplayObject; private var _jsproxy:JavascriptProxy; private var _dom:HTMLDOM; private var _eventDispatcher:EventDispatcher; private var _ready:Boolean;// = false private var _gifRequest:GIFRequest; private var _ecom:Ecommerce; private var _account:String; private var _tracker:GoogleAnalyticsAPI; public static var version:Version = API.version; public static var autobuild:Boolean = true; public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){ _ready = false; super(); _display = _arg1; _eventDispatcher = new EventDispatcher(this); _tracker = new TrackerCache(); this.account = _arg2; this.mode = _arg3; this.visualDebug = _arg4; if (!_arg6){ this.debug = new DebugConfiguration(); }; if (!_arg5){ this.config = new Configuration(_arg6); }; if (autobuild){ _factory(); }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _tracker.link(_arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _tracker.addOrganic(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _tracker.setAllowLinker(_arg1); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ return (_tracker.getLinkerUrl(_arg1, _arg2)); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var b:Boolean; var category = _arg1; var action = _arg2; var label = _arg3; var value = _arg4; b = false; try { b = _tracker.trackEvent(category, action, label, value); } catch(e:Error) { b = false; }; return (b); } public function setCookieTimeout(_arg1:int):void{ _tracker.setCookieTimeout(_arg1); } public function trackTrans():void{ _tracker.trackTrans(); } public function trackPageview(_arg1:String=""):void{ _tracker.trackPageview(_arg1); } public function getClientInfo():Boolean{ return (_tracker.getClientInfo()); } public function setClientInfo(_arg1:Boolean):void{ _tracker.setClientInfo(_arg1); } public function get account():String{ return (_account); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _tracker.linkByPost(_arg1, _arg2); } public function getDetectTitle():Boolean{ return (_tracker.getDetectTitle()); } public function dispatchEvent(_arg1:Event):Boolean{ return (_eventDispatcher.dispatchEvent(_arg1)); } public function get config():Configuration{ return (_config); } public function set mode(_arg1:String):void{ _mode = _arg1; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public function setDetectFlash(_arg1:Boolean):void{ _tracker.setDetectFlash(_arg1); } public function resetSession():void{ _tracker.resetSession(); } public function setCampNameKey(_arg1:String):void{ _tracker.setCampNameKey(_arg1); } public function get debug():DebugConfiguration{ return (_debug); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } private function _bridgeFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account)); return (new Bridge(account, _debug, _jsproxy)); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function clearIgnoredOrganic():void{ _tracker.clearIgnoredOrganic(); } public function set account(_arg1:String):void{ _account = _arg1; } public function setVar(_arg1:String):void{ _tracker.setVar(_arg1); } public function build():void{ if (!isReady()){ _factory(); }; } public function setDomainName(_arg1:String):void{ _tracker.setDomainName(_arg1); } public function createEventTracker(_arg1:String):EventTracker{ return (_tracker.createEventTracker(_arg1)); } public function set config(_arg1:Configuration):void{ _config = _arg1; } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ _tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setCampSourceKey(_arg1:String):void{ _tracker.setCampSourceKey(_arg1); } public function setCampContentKey(_arg1:String):void{ _tracker.setCampContentKey(_arg1); } public function willTrigger(_arg1:String):Boolean{ return (_eventDispatcher.willTrigger(_arg1)); } public function setLocalServerMode():void{ _tracker.setLocalServerMode(); } public function isReady():Boolean{ return (_ready); } public function getLocalGifPath():String{ return (_tracker.getLocalGifPath()); } public function setAllowAnchor(_arg1:Boolean):void{ _tracker.setAllowAnchor(_arg1); } public function clearIgnoredRef():void{ _tracker.clearIgnoredRef(); } public function get mode():String{ return (_mode); } public function set debug(_arg1:DebugConfiguration):void{ _debug = _arg1; } public function setLocalGifPath(_arg1:String):void{ _tracker.setLocalGifPath(_arg1); } public function getVersion():String{ return (_tracker.getVersion()); } public function setSampleRate(_arg1:Number):void{ _tracker.setSampleRate(_arg1); } public function setCookiePath(_arg1:String):void{ _tracker.setCookiePath(_arg1); } public function setAllowHash(_arg1:Boolean):void{ _tracker.setAllowHash(_arg1); } public function setCampNOKey(_arg1:String):void{ _tracker.setCampNOKey(_arg1); } public function addIgnoredOrganic(_arg1:String):void{ _tracker.addIgnoredOrganic(_arg1); } public function setLocalRemoteServerMode():void{ _tracker.setLocalRemoteServerMode(); } public function cookiePathCopy(_arg1:String):void{ _tracker.cookiePathCopy(_arg1); } private function _factory():void{ var _local1:GoogleAnalyticsAPI; var _local2:TrackerCache; _jsproxy = new JavascriptProxy(debug); if (visualDebug){ debug.layout = new Layout(debug, _display); debug.active = visualDebug; }; _local2 = (_tracker as TrackerCache); switch (mode){ case TrackerMode.BRIDGE: _local1 = _bridgeFactory(); break; case TrackerMode.AS3: default: _local1 = _trackerFactory(); }; if (!_local2.isEmpty()){ _local2.tracker = _local1; _local2.flush(); }; _tracker = _local1; _ready = true; dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this)); } public function setCampTermKey(_arg1:String):void{ _tracker.setCampTermKey(_arg1); } private function _trackerFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account)); _adSense = new AdSenseGlobals(debug); _dom = new HTMLDOM(debug); _dom.cacheProperties(); _env = new Environment("", "", "", debug, _dom); _buffer = new Buffer(config, debug, false); _gifRequest = new GIFRequest(config, debug, _buffer, _env); _idleTimer = new IdleTimer(config, debug, _display, _buffer); _ecom = new Ecommerce(_debug); _env.url = _display.stage.loaderInfo.url; return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense, _ecom)); } public function setDetectTitle(_arg1:Boolean):void{ _tracker.setDetectTitle(_arg1); } public function setCampaignTrack(_arg1:Boolean):void{ _tracker.setCampaignTrack(_arg1); } public function clearOrganic():void{ _tracker.clearOrganic(); } public function addIgnoredRef(_arg1:String):void{ _tracker.addIgnoredRef(_arg1); } public function getServiceMode():ServerOperationMode{ return (_tracker.getServiceMode()); } public function set visualDebug(_arg1:Boolean):void{ _visualDebug = _arg1; } public function setCampMediumKey(_arg1:String):void{ _tracker.setCampMediumKey(_arg1); } public function setSessionTimeout(_arg1:int):void{ _tracker.setSessionTimeout(_arg1); } public function getDetectFlash():Boolean{ return (_tracker.getDetectFlash()); } public function get visualDebug():Boolean{ return (_visualDebug); } public function getAccount():String{ return (_tracker.getAccount()); } public function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public function setRemoteServerMode():void{ _tracker.setRemoteServerMode(); } } var _local1:* = ServerOperationMode; return (_local1); }//package com.google.analytics
Section 160
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent) package com.kongregate.as3.client.events { import flash.events.*; public class KongregateEvent extends Event { public static const COMPLETE:String = "component_api_available"; public function KongregateEvent(_arg1:String){ super(_arg1); } } }//package com.kongregate.as3.client.events
Section 161
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService) package com.kongregate.as3.client.services { import flash.events.*; public class AbstractShadowService extends EventDispatcher { protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{ trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4)); } } }//package com.kongregate.as3.client.services
Section 162
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow) package com.kongregate.as3.client.services { public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices { private var mode:String; public function HighScoreServiceShadow(){ mode = ""; } public function submit(_arg1:Number, _arg2:String=null):void{ alert("IHighScoreServices", "submit", arguments); } public function connect():Boolean{ alert("IKongregateServices", "connect"); return (true); } public function requestList(_arg1:Function):void{ alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]")); _arg1({success:false}); } public function setMode(_arg1:String):void{ alert("IHighScoreServices", "setMode", arguments); this.mode = _arg1; } } }//package com.kongregate.as3.client.services
Section 163
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices) package com.kongregate.as3.client.services { public interface IHighScoreServices { "_-5y"?? function setMode(_arg1:String):void; "_-5y"?? function submit(_arg1:Number, _arg2:String=null):void; "_-5y"?? function requestList(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 164
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices) package com.kongregate.as3.client.services { import flash.events.*; public interface IKongregateServices extends IEventDispatcher { "_-2n"?? function getPlayerInfo(_arg1:Function):void; "_-2n"?? function connect(_arg1:Number=-1):Boolean; } }//package com.kongregate.as3.client.services
Section 165
//IStatServices (com.kongregate.as3.client.services.IStatServices) package com.kongregate.as3.client.services { public interface IStatServices { "_-1y"?? function submitArray(_arg1:Array):void; "_-1y"?? function submit(_arg1:String, _arg2:Number):void; } }//package com.kongregate.as3.client.services
Section 166
//IUserServices (com.kongregate.as3.client.services.IUserServices) package com.kongregate.as3.client.services { public interface IUserServices { "_-7f"?? function getName():String; "_-7f"?? function getPlayerInfo(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 167
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow) package com.kongregate.as3.client.services { public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices { public function getName():String{ alert("IKongregateServices", "getName"); return ("Guest"); } public function connect(_arg1:Number=-1):Boolean{ alert("IKongregateServices", "connect", arguments); return (true); } public function getPlayerInfo(_arg1:Function):void{ alert("IKongregateServices", "getPlayerInfo"); _arg1(new Object()); } } }//package com.kongregate.as3.client.services
Section 168
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow) package com.kongregate.as3.client.services { public class StatServiceShadow extends AbstractShadowService implements IStatServices { public function submitArray(_arg1:Array):void{ alert("IStatServices", "submitArray", arguments); } public function submit(_arg1:String, _arg2:Number):void{ alert("IStatServices", "submitStat", arguments); } } }//package com.kongregate.as3.client.services
Section 169
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow) package com.kongregate.as3.client.services { public class UserServiceShadow extends AbstractShadowService implements IUserServices { public function getName():String{ alert("UserService", "getName"); return ("Guest"); } public function getPlayerInfo(_arg1:Function):void{ alert("UserService", "getPlayerInfo"); _arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""}); } } }//package com.kongregate.as3.client.services
Section 170
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap) package com.kongregate.as3.client { import flash.display.*; import flash.events.*; public interface IAPIBootstrap { "_-H"?? function init(_arg1:Event=null, _arg2:Stage=null):void; "_-H"?? function hideLog():void; "_-H"?? function showLog(_arg1:int=0):void; } }//package com.kongregate.as3.client
Section 171
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.display.*; import flash.events.*; import flash.net.*; import com.kongregate.as3.client.services.*; import flash.utils.*; import flash.system.*; import flash.errors.*; import com.kongregate.as3.client.events.*; public class KongregateAPI extends Sprite { private const VERSION:Number = 1; private var loader:Loader; private var loadedDomain:ApplicationDomain; private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices"; private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices"; private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices"; private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices"; private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf"; private static var _connected:Boolean; private static var kUser:IUserServices; private static var _loaded:Boolean; private static var kServices:IKongregateServices; private static var kScores:IHighScoreServices; private static var mInstance:KongregateAPI; private static var kStats:IStatServices; private static var kAPI:IAPIBootstrap; public function KongregateAPI(){ if (mInstance != null){ throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access.")); }; mInstance = this; this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); } public function get loaded():Boolean{ return (_loaded); } public function get connected():Boolean{ return (_connected); } private function alertConnected(_arg1:TimerEvent=null):void{ var _local2:KongregateEvent; var _local3:Boolean; _local2 = new KongregateEvent(KongregateEvent.COMPLETE); _local3 = this.dispatchEvent(_local2); } private function init(_arg1:Event):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:LoaderContext; this.removeEventListener(Event.ADDED_TO_STAGE, init); _loaded = false; _connected = false; _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded."); createShadowServices(); return; }; Security.allowDomain("*.kongregate.com"); Security.allowDomain("kongregatetrunk.com"); _local4 = new URLRequest(_local3); _local5 = new LoaderContext(false); _local5.applicationDomain = ApplicationDomain.currentDomain; _local5.securityDomain = SecurityDomain.currentDomain; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(_local4, _local5); } public function get api():IAPIBootstrap{ return (kAPI); } private function loadComplete(_arg1:Event):void{ getServices(); } public function get scores():IHighScoreServices{ return (kScores); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ throw (new IOError(("API file not found. " + _arg1))); } public function get services():IKongregateServices{ return (kServices); } public function get stats():IStatServices{ return (kStats); } private function createShadowServices():void{ var _local1:Timer; trace(">>> Kongregate Shadow Services instantiated for local development.."); kServices = new KongregateServiceShadow(); kScores = new HighScoreServiceShadow(); kStats = new StatServiceShadow(); kUser = new UserServiceShadow(); _local1 = new Timer(200, 1); _local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected); _local1.start(); _connected = true; } public function get user():IUserServices{ return (kUser); } private function getServices():void{ var _local1:ApplicationDomain; var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local1 = ApplicationDomain.currentDomain; kAPI = IAPIBootstrap(loader.getChildAt(0)); this.addChild(loader); _local2 = _local1.getDefinition(CLASS_SERVICES); trace(_local2); kServices = _local2.getInstance(); _local3 = _local1.getDefinition(CLASS_SCORES); kScores = _local3.getInstance(); _local4 = _local1.getDefinition(CLASS_STATS); kStats = _local4.getInstance(); _local5 = _local1.getDefinition(CLASS_USER); kUser = _local5.getInstance(); kServices.connect(VERSION); _loaded = true; _connected = true; alertConnected(); } public static function getInstance():KongregateAPI{ if (!mInstance){ throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it.")); }; return (mInstance); } } }//package com.kongregate.as3.client
Section 172
//Level_0 (Levels.Level_0) package Levels { import flash.display.*; public class Level_0 extends Level { public var shoesRight:_-0h; public var miniBall:MovieClip; public function Level_0():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:int; var _local9:_-4E; var _local10:_-2I; var _local11:_-0k; super(); _local1 = 275; _local2 = -200; _local3 = 8; _local4 = new Array(_local3); _local5 = new Array(_local3); _local6 = new Array(_local3); _local7 = new Array((_local3 + 1)); _local8 = 0; while (_local8 < _local3) { _local4[_local8] = new _-3C(); _local4[_local8].x = _local1; _local4[_local8].y = (_local2 + (40 * _local8)); addChildAt(_local4[_local8], 1); CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF); _local5[_local8] = new _-8I(); _local5[_local8].x = _local1; _local5[_local8].y = ((_local2 + 20) + (40 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF); _local6[_local8] = new _-6f(); _local6[_local8].x = _local1; _local6[_local8].y = ((_local2 - 10) + (40 * _local8)); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-4F, [false, false]); _local7[_local8] = new _-6f(); _local7[_local8].x = _local1; _local7[_local8].y = ((_local2 + 10) + (40 * _local8)); addChildAt(_local7[_local8], 1); _-1b(_local7[_local8], _-3A._-4F, [false, false]); _local8++; }; _local9 = new _-4E(); _local9.x = _local1; _local9.y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-8j, _-3y._-5s, [[[13.85, 8.15], [8.25, 22.15], [-9.25, 22], [-14, 7.9], [-7.5, -6.5], [6.35, -6.5]], [[-9.25, 22], [8.25, 22.15], [-4.15, 30.45], [-15.15, 30.45], [-14.15, 22]], [[-17.4, 17.65], [-14.15, 22], [-15.15, 30.45], [-17, 37], [-23, 37], [-22.75, 17.65]], [[-30.1, 77.3], [-35.25, 82.45], [-44.65, 58.1], [-39.75, 58.1]], [[-44.65, 58.1], [-35.25, 82.45], [-38, 93.85], [-43.4, 99.45]], [[-38, 99.6], [-43.4, 99.45], [-38, 93.85]], [[-35.25, 82.45], [-24.75, 94.95], [-38, 93.85]], [[-38, 93.85], [-24.75, 94.95], [-11.65, 109.85]], [[-24.75, 94.95], [-10.25, 94.95], [-11.65, 109.85]], [[-10.25, 94.95], [-4.15, 70.35], [10.25, 109.85], [-11.65, 109.85]], [[-4.15, 70.35], [-4.15, 30.45], [4.1, 70.2], [8.85, 94.6], [10.25, 109.85]], [[37.85, 99.35], [37.85, 93.85], [40.25, 57.95], [44, 57.95], [42.6, 99.1]], [[29.9, 77.4], [40.25, 57.95], [35.85, 82.6]], [[40.25, 57.95], [37.85, 93.85], [35.85, 82.6]], [[37.85, 93.85], [10.25, 109.85], [24.1, 94.6], [35.85, 82.6]], [[24.1, 94.6], [10.25, 109.85], [8.85, 94.6]], [[4.1, 70.2], [-4.15, 30.45], [4.1, 30.6]], [[-4.15, 30.45], [8.25, 22.15], [15.75, 30.6], [4.1, 30.6]], [[17, 36.5], [15.75, 30.6], [22.85, 36.5]], [[15.75, 30.6], [8.25, 22.15], [14.35, 22.15], [22.85, 36.5]], [[22.75, 17.15], [22.85, 36.5], [14.35, 22.15], [16.85, 17.25]]]); _local7[_local3] = new _-6f(); _local7[_local3].x = _local1; _local7[_local3].y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local7[_local3], 1); _-1b(_local7[_local3], _-3A._-4F, [false, false]); _local10 = new _-2I(); _local10.x = 275; _local10.y = -10; addChild(_local10); CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local11 = new _-0k(); _local11.x = 275; _local11.y = 410; addChildAt(_local11, 1); _-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[-67.9, -45.05], [0, -32], [-206.9, -45.3], [-136.85, -49.7]], [[0, -32], [70.15, -23.9], [295, 10], [-275, 10], [-275, -32], [-206.9, -45.3]], [[295, -38], [295, 10], [224.35, -26.8]], [[224.35, -26.8], [295, 10], [143.2, -21.65]], [[143.2, -21.65], [295, 10], [70.15, -23.9]]]); CreateBody(miniBall, _-39, _-3y._-8, [20]); CreateBody(shoesRight, _-8j, _-3y.override, [[[-14.75, -30.9], [2.85, -28.85], [-10.65, -16]], [[2.85, -28.85], [18.75, -35], [-3.7, -13.45], [-10.65, -16]], [[-3.7, -13.45], [18.75, -35], [21, -29.15], [21, -0.9], [-3.75, -1.4]], [[-20.5, -8], [-12.5, -1.4], [-46.75, 1], [-36, -8]], [[-12.5, -1.4], [-3.75, -1.4], [21, -0.9], [26.85, 10], [27.1, 23.6], [-44.25, 24.75], [-46.75, 1]]]); } } }//package Levels
Section 173
//Level_1 (Levels.Level_1) package Levels { import flash.display.*; public class Level_1 extends Level { public var track:MovieClip; public var miniBox:MovieClip; public var ambrella:MovieClip; public var miniBall:MovieClip; public function Level_1():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; var _local9:_-6g; var _local10:_-0e; var _local11:_-2I; var _local12:_-4m; super(); _local1 = 300; _local2 = -50; _local3 = 1; _local4 = 13; _local5 = new Array((_local3 + _local4)); _local6 = new Array(((_local3 + _local4) + 2)); _local7 = 10; _local8 = 0; while (_local8 < _local3) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local9 = new _-6g(); _local9.x = _local1; _local9.y = (_local2 + (_local7 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]); _local8 = _local3; while (_local8 < (_local3 + _local4)) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * (_local8 + 1))); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local10 = new _-0e(); _local10.x = _local1; _local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4))); addChildAt(_local10, 1); CreateBody(_local10, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]); _local8 = 0; while (_local8 < ((_local3 + _local4) + 2)) { _local6[_local8] = new const(); _local6[_local8].x = _local1; _local6[_local8].y = (_local2 + (_local7 * (_local8 - 1))); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-5E, []); _local8++; }; _local11 = new _-2I(); _local11.x = 275; _local11.y = -10; addChild(_local11); CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local12 = new _-4m(); _local12.x = 275; _local12.y = 410; addChildAt(_local12, 1); _-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[-67.9, -45.05], [0, -32], [-101.5, -37.1], [-84.9, -43.5]], [[0, -32], [70.15, -23.9], [-118.1, -30.2], [-101.5, -37.1]], [[-118.1, -30.2], [70.15, -23.9], [295, 10], [-275, 10], [-135, -27]], [[-176.7, -36.5], [-154.65, -30.05], [-246.65, -38.95], [-218.25, -43.7]], [[-154.65, -30.05], [-135, -27], [-275, 10], [-275, -32], [-246.65, -38.95]], [[295, 10], [70.15, -23.9], [107.1, -27.5], [257.2, -41.2], [295, -38]], [[237.65, -45.75], [257.2, -41.2], [107.1, -27.5], [142.95, -37], [180.65, -45.05], [218.95, -48]]]); CreateBody(track, _-8j, _-3y.override, [[[26.25, -26.1], [29.4, -25.05], [2.75, 0.2], [2.75, -21.85], [3.75, -24.6], [6.45, -26.1]], [[2.75, 0.2], [29.4, -25.05], [-6.55, 19.55], [-11.25, 23.3], [-24.05, 33.3], [1.4, 1.8]], [[-41.55, -5.6], [-41.55, -0.05], [-45.3, -7.4], [-43, -7.4], [-41.95, -6.8]], [[-41.55, -0.05], [-41.1, 1.5], [-47.9, 17.05], [-47.9, -4.8], [-47.65, -6.4], [-45.3, -7.4]], [[-41.1, 1.5], [-39.9, 1.8], [-47.9, 17.05]], [[-39.9, 1.8], [1.4, 1.8], [-41.4, 19.2], [-45.8, 19.2], [-47.4, 18.65], [-47.9, 17.05]], [[-41.4, 19.2], [1.4, 1.8], [-36.85, 23.2], [-40.45, 22.5]], [[-36.85, 23.2], [1.4, 1.8], [-24.05, 33.3], [-32.25, 30.35]], [[-15.75, 30.15], [-24.05, 33.3], [-11.25, 23.3]], [[-8.25, 23.3], [-11.25, 23.3], [-6.55, 19.55], [-6.9, 22.3]], [[-6.55, 19.55], [29.4, -25.05], [-1.4, 19.55]], [[-1.4, 19.55], [29.4, -25.05], [5.7, 23.95], [1.55, 23.95], [-0.85, 22.65]], [[5.7, 23.95], [29.4, -25.05], [31.35, 23.3], [26.7, 30.3], [18.5, 33.35], [10.85, 30.7]], [[31.35, 23.3], [29.4, -25.05], [38.05, 20.55], [37.6, 22.65], [35.9, 23.3]], [[38.05, 20.55], [29.4, -25.05], [36.2, -9.95], [44.05, 7.5], [47.6, 18.8], [47.2, 20.2], [45.95, 20.55]], [[47.6, 10.9], [47.6, 18.8], [45.95, 9.2], [47.1, 9.75]], [[45.95, 9.2], [47.6, 18.8], [44.05, 7.5]], [[44.05, -5.05], [44.05, 7.5], [37.85, -8.35], [42.95, -6.75], [43.8, -6.15]], [[37.85, -8.35], [44.05, 7.5], [36.2, -9.95]], [[31.15, -22.45], [36.2, -9.95], [29.4, -25.05]]]); CreateBody(miniBall, _-39, _-3y._-8, [20]); CreateBody(miniBox, _-8j, _-3y._-1D, [[[-15, 15], [-15, -15], [15, -15], [15, 15]]]); CreateBody(ambrella, _-8j, _-3y._-1D, [[[39.5, -78.75], [40.65, -70.85], [36, -71.5]], [[40.65, -70.85], [56.6, -67.6], [-30.5, -40.3], [-47.3, -38.7], [-20.4, -62], [14.85, -72.85], [36, -71.5]], [[-30.5, -40.3], [56.6, -67.6], [-0.15, -36.35], [-17.6, -32.1]], [[-0.15, -36.35], [56.6, -67.6], [29, -32], [15.15, -27.6]], [[-6, 78], [-2.85, 85.9], [-6.85, 90.95], [-12, 77]], [[-2.85, 85.9], [11.95, 86.65], [16.6, 91.95], [-6.85, 90.95]], [[11.95, 86.65], [29, -32], [34, -31], [16.6, 91.95]], [[29, -32], [56.6, -67.6], [34, -31]], [[34, -31], [56.6, -67.6], [63.45, -27.3], [47.35, -22]], [[63.45, -27.3], [56.6, -67.6], [94.6, -22.65], [80.1, -17.85]], [[94.6, -22.65], [56.6, -67.6], [87.85, -49.6], [109.55, -17.85]]]); } } }//package Levels
Section 174
//Level_10 (Levels.Level_10) package Levels { import flash.display.*; public class Level_10 extends Level { public var ball1:MovieClip; public var ball2:MovieClip; public var track:MovieClip; public var box:MovieClip; public function Level_10():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:int; var _local9:_-4E; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:Array; var _local15:Array; var _local16:int; var _local17:_-6g; var _local18:_-0e; var _local19:_-0h; var _local20:*; var _local21:_-2I; var _local22:_-0; super(); _local1 = 450; _local2 = -100; _local3 = 8; _local4 = new Array(_local3); _local5 = new Array(_local3); _local6 = new Array(_local3); _local7 = new Array((_local3 + 1)); _local8 = 0; while (_local8 < _local3) { _local4[_local8] = new _-3C(); _local4[_local8].x = _local1; _local4[_local8].y = (_local2 + (40 * _local8)); addChildAt(_local4[_local8], 1); CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF); _local5[_local8] = new _-8I(); _local5[_local8].x = _local1; _local5[_local8].y = ((_local2 + 20) + (40 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF); _local6[_local8] = new _-6f(); _local6[_local8].x = _local1; _local6[_local8].y = ((_local2 - 10) + (40 * _local8)); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-4F, [false, false]); _local7[_local8] = new _-6f(); _local7[_local8].x = _local1; _local7[_local8].y = ((_local2 + 10) + (40 * _local8)); addChildAt(_local7[_local8], 1); _-1b(_local7[_local8], _-3A._-4F, [false, false]); _local8++; }; _local9 = new _-4E(); _local9.x = _local1; _local9.y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-8j, _-3y._-5s, [[[13.85, 8.15], [8.25, 22.15], [-9.25, 22], [-14, 7.9], [-7.5, -6.5], [6.35, -6.5]], [[-9.25, 22], [8.25, 22.15], [-4.15, 30.45], [-15.15, 30.45], [-14.15, 22]], [[-17.4, 17.65], [-14.15, 22], [-15.15, 30.45], [-17, 37], [-23, 37], [-22.75, 17.65]], [[-30.1, 77.3], [-35.25, 82.45], [-44.65, 58.1], [-39.75, 58.1]], [[-44.65, 58.1], [-35.25, 82.45], [-38, 93.85], [-43.4, 99.45]], [[-38, 99.6], [-43.4, 99.45], [-38, 93.85]], [[-35.25, 82.45], [-24.75, 94.95], [-38, 93.85]], [[-38, 93.85], [-24.75, 94.95], [-11.65, 109.85]], [[-24.75, 94.95], [-10.25, 94.95], [-11.65, 109.85]], [[-10.25, 94.95], [-4.15, 70.35], [10.25, 109.85], [-11.65, 109.85]], [[-4.15, 70.35], [-4.15, 30.45], [4.1, 70.2], [8.85, 94.6], [10.25, 109.85]], [[37.85, 99.35], [37.85, 93.85], [40.25, 57.95], [44, 57.95], [42.6, 99.1]], [[29.9, 77.4], [40.25, 57.95], [35.85, 82.6]], [[40.25, 57.95], [37.85, 93.85], [35.85, 82.6]], [[37.85, 93.85], [10.25, 109.85], [24.1, 94.6], [35.85, 82.6]], [[24.1, 94.6], [10.25, 109.85], [8.85, 94.6]], [[4.1, 70.2], [-4.15, 30.45], [4.1, 30.6]], [[-4.15, 30.45], [8.25, 22.15], [15.75, 30.6], [4.1, 30.6]], [[17, 36.5], [15.75, 30.6], [22.85, 36.5]], [[15.75, 30.6], [8.25, 22.15], [14.35, 22.15], [22.85, 36.5]], [[22.75, 17.15], [22.85, 36.5], [14.35, 22.15], [16.85, 17.25]]]); _local7[_local3] = new _-6f(); _local7[_local3].x = _local1; _local7[_local3].y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local7[_local3], 1); _-1b(_local7[_local3], _-3A._-4F, [false, false]); _local10 = 100; _local11 = -50; _local12 = 13; _local13 = 9; _local14 = new Array((_local12 + _local13)); _local15 = new Array(((_local12 + _local13) + 2)); _local16 = 10; _local8 = 0; while (_local8 < _local12) { _local14[_local8] = new _-1m(); _local14[_local8].x = _local10; _local14[_local8].y = (_local11 + (_local16 * _local8)); addChildAt(_local14[_local8], 1); CreateBody(_local14[_local8], _-39, _-3y._-2g, [_local16], 1, 0, 5); _local8++; }; _local17 = new _-6g(); _local17.x = _local10; _local17.y = (_local11 + (_local16 * _local12)); addChild(_local17); CreateBody(_local17, _-39, _-3y._-2g, [(_local16 + 8)]); _local8 = _local12; while (_local8 < (_local12 + _local13)) { _local14[_local8] = new _-1m(); _local14[_local8].x = _local10; _local14[_local8].y = (_local11 + (_local16 * (_local8 + 1))); addChildAt(_local14[_local8], 1); CreateBody(_local14[_local8], _-39, _-3y._-2g, [_local16], 1, 0, 5); _local8++; }; _local18 = new _-0e(); _local18.x = _local10; _local18.y = (_local11 + (_local16 * ((_local12 + 1) + _local13))); addChildAt(_local18, 1); CreateBody(_local18, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]); _local8 = 0; while (_local8 < ((_local12 + _local13) + 2)) { _local15[_local8] = new const(); _local15[_local8].x = _local10; _local15[_local8].y = (_local11 + (_local16 * (_local8 - 1))); addChildAt(_local15[_local8], 1); _-1b(_local15[_local8], _-3A._-5E, []); _local8++; }; _local19 = new _-0h(); _local19.x = (((_local18.x - 3) - 4) + 7); _local19.y = (((_local18.y + 41.5) + 28) - 21); addChild(_local19); CreateBody(_local19, _-8j, _-3y.override, [[[-14.75, -30.9], [2.85, -28.85], [-10.65, -16]], [[2.85, -28.85], [18.75, -35], [-3.7, -13.45], [-10.65, -16]], [[-3.7, -13.45], [18.75, -35], [21, -29.15], [21, -0.9], [-3.75, -1.4]], [[-20.5, -8], [-12.5, -1.4], [-46.75, 1], [-36, -8]], [[-12.5, -1.4], [-3.75, -1.4], [21, -0.9], [26.85, 10], [27.1, 23.6], [-44.25, 24.75], [-46.75, 1]]]); _local20 = new _-6f(); _local20.x = (_local18.x - 3); _local20.y = (_local18.y + 41.5); addChildAt(_local20, 1); _-1b(_local20, _-3A._-4F, [false, true, 0, 0, 0, 20]); CreateBody(track, _-8j, _-3y.override, [[[26.25, -26.1], [29.4, -25.05], [2.75, 0.2], [2.75, -21.85], [3.75, -24.6], [6.45, -26.1]], [[2.75, 0.2], [29.4, -25.05], [-6.55, 19.55], [-11.25, 23.3], [-24.05, 33.3], [1.4, 1.8]], [[-41.55, -5.6], [-41.55, -0.05], [-45.3, -7.4], [-43, -7.4], [-41.95, -6.8]], [[-41.55, -0.05], [-41.1, 1.5], [-47.9, 17.05], [-47.9, -4.8], [-47.65, -6.4], [-45.3, -7.4]], [[-41.1, 1.5], [-39.9, 1.8], [-47.9, 17.05]], [[-39.9, 1.8], [1.4, 1.8], [-41.4, 19.2], [-45.8, 19.2], [-47.4, 18.65], [-47.9, 17.05]], [[-41.4, 19.2], [1.4, 1.8], [-36.85, 23.2], [-40.45, 22.5]], [[-36.85, 23.2], [1.4, 1.8], [-24.05, 33.3], [-32.25, 30.35]], [[-15.75, 30.15], [-24.05, 33.3], [-11.25, 23.3]], [[-8.25, 23.3], [-11.25, 23.3], [-6.55, 19.55], [-6.9, 22.3]], [[-6.55, 19.55], [29.4, -25.05], [-1.4, 19.55]], [[-1.4, 19.55], [29.4, -25.05], [5.7, 23.95], [1.55, 23.95], [-0.85, 22.65]], [[5.7, 23.95], [29.4, -25.05], [31.35, 23.3], [26.7, 30.3], [18.5, 33.35], [10.85, 30.7]], [[31.35, 23.3], [29.4, -25.05], [38.05, 20.55], [37.6, 22.65], [35.9, 23.3]], [[38.05, 20.55], [29.4, -25.05], [36.2, -9.95], [44.05, 7.5], [47.6, 18.8], [47.2, 20.2], [45.95, 20.55]], [[47.6, 10.9], [47.6, 18.8], [45.95, 9.2], [47.1, 9.75]], [[45.95, 9.2], [47.6, 18.8], [44.05, 7.5]], [[44.05, -5.05], [44.05, 7.5], [37.85, -8.35], [42.95, -6.75], [43.8, -6.15]], [[37.85, -8.35], [44.05, 7.5], [36.2, -9.95]], [[31.15, -22.45], [36.2, -9.95], [29.4, -25.05]]]); CreateBody(ball1, _-39, _-3y._-8, [40]); CreateBody(ball2, _-39, _-3y._-8, [40]); CreateBody(box, _-8j, _-3y._-1D, [[[-25, 25], [-25, -25], [25, -25], [25, 25]]]); _local21 = new _-2I(); _local21.x = 275; _local21.y = -10; addChild(_local21); CreateBody(_local21, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local22 = new _-0(); _local22.x = 275; _local22.y = 410; addChildAt(_local22, 1); _-0W = CreateBody(_local22, _-8j, _-3y._-1p, [[[20.4, -57.3], [56, -50], [-57.2, -51.85], [-15.95, -59]], [[-57.2, -51.85], [56, -50], [91.8, -42.95], [295, 10], [-275, 10], [-99.95, -50]], [[-144.6, -78.45], [-119.9, -60.45], [-191.95, -98], [-169.95, -94.25]], [[-119.9, -60.45], [-99.95, -50], [-275, 10], [-275.95, -74], [-258.05, -84.7], [-238.95, -90], [-217.3, -94], [-191.95, -98]], [[295, -38], [295, 10], [238.75, -42.9], [256.5, -43.85]], [[238.75, -42.9], [295, 10], [221, -43]], [[221, -43], [295, 10], [127, -41], [173.1, -43.35]], [[127, -41], [295, 10], [91.8, -42.95]]]); } } }//package Levels
Section 175
//Level_11 (Levels.Level_11) package Levels { import flash.display.*; import flash.events.*; import com.gamezhero.api.as3.*; public class Level_11 extends MovieClip { private var btn3:MovieClip; private var btn2:MovieClip; private var btn4:MovieClip; private var btn1:MovieClip; private var btn5:MovieClip; private var g:MovieClip; public var gamezheroBtn:_-8l; public function Level_11(){ var _local1:Object; super(); _local1 = {border:{width:6, color:6571522, alpha:100}, background:{topColor:0xF4B100, bottomColor:0xF4B100, topAlpha:100, bottomAlpha:100, cornerRadius:10}, language:"ENG"}; GamezheroApi.score((this as MovieClip), "203148164150220157200214211130196145160170167170202152153156150197207154151212203163205152166155160154152166163", _-4n._-0g, 235, 85, submitAction, mainMenuAction, errorAction, _local1); _-5T(_-4n._-0g); } public function ini(_arg1:Event=null):void{ btn4 = (this["gamezheroBtn"] as MovieClip); this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents); btn4.addEventListener(MouseEvent.CLICK, gotoAction); } public function mainMenuAction():void{ (parent as MovieClip).gotoAndStop("mainMenu"); closeScore(); } function _-5T(_arg1:Number):void{ var score = _arg1; try { if (_-4n._-3K.connected){ _-4n._-3K.stats.submit("Top Score", score); }; } catch(e:Error) { }; } public function submitAction():void{ mainMenuAction(); } public function gotoAction(_arg1:MouseEvent=null):void{ switch (_arg1.target){ case btn4: GamezheroApi.linkZorroLogo(); break; default: GamezheroApi.linkMoreGames(); }; } public function errorAction():void{ mainMenuAction(); } public function closeScore():void{ } public function clearEvents(_arg1:Event=null):void{ this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents); btn4.removeEventListener(MouseEvent.CLICK, gotoAction); } } }//package Levels
Section 176
//Level_2 (Levels.Level_2) package Levels { import Box2D.Common.Math.*; import flash.display.*; import Box2D.Dynamics.Joints.*; public class Level_2 extends Level { public var vase:MovieClip; public var bead2:_-80; public var bead4:_-80; public var bead5:_-80; public var bead3:_-80; public var jug:MovieClip; public var bead:_-80; public function Level_2():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; var _local9:_-6g; var _local10:_-0e; var _local11:_-2I; var _local12:_-0m; super(); _local1 = 350; _local2 = -50; _local3 = 10; _local4 = 10; _local5 = new Array((_local3 + _local4)); _local6 = new Array(((_local3 + _local4) + 2)); _local7 = 10; _local8 = 0; while (_local8 < _local3) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local9 = new _-6g(); _local9.x = _local1; _local9.y = (_local2 + (_local7 * _local3)); addChild(_local9); CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]); _local8 = _local3; while (_local8 < (_local3 + _local4)) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * (_local8 + 1))); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local10 = new _-0e(); _local10.x = _local1; _local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4))); addChildAt(_local10, 1); CreateBody(_local10, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]); _local8 = 0; while (_local8 < ((_local3 + _local4) + 2)) { _local6[_local8] = new const(); _local6[_local8].x = _local1; _local6[_local8].y = (_local2 + (_local7 * (_local8 - 1))); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-5E, []); _local8++; }; _local11 = new _-2I(); _local11.x = 275; _local11.y = -10; addChild(_local11); CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local12 = new _-0m(); _local12.x = 275; _local12.y = 410; addChildAt(_local12, 1); _-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[233.9, -219], [294, -241], [177.65, -94.15], [189.8, -143.45], [200, -176]], [[177.65, -94.15], [294, -241], [295, 10], [162.45, -47.2]], [[90.3, -30.9], [108.35, -24.35], [54.3, -33.85], [72, -35]], [[108.35, -24.35], [126.05, -19.75], [36.3, -30.4], [54.3, -33.85]], [[36.3, -30.4], [126.05, -19.75], [295, 10], [-275, 10], [0, -32]], [[-88, -163.75], [-73.95, -137], [-149.95, -245], [-109.4, -201.6]], [[-73.95, -137], [-36.4, -73.5], [-194.8, -228.1], [-170.25, -238.6], [-149.95, -245]], [[-36.4, -73.5], [0, -32], [-221.65, -226.8], [-194.8, -228.1]], [[-221.65, -226.8], [0, -32], [-275, 10], [-274.95, -263], [-248.95, -248]], [[-254.15, -255.55], [-248.95, -248], [-274.95, -263], [-258.95, -261.1]], [[126.05, -19.75], [143.2, -21.65], [295, 10]], [[143.2, -21.65], [162.45, -47.2], [295, 10]]]); removeChild(jug); addChild(jug); removeChild(vase); addChild(vase); CreateBody(jug, _-8j, _-3y.override, [[[40.25, 19.7], [35.9, -27.05], [43.65, -31.8]], [[35.9, -27.05], [20.95, -27.05], [11.3, -27.5], [16.7, -48.25], [43.65, -31.8]], [[11.3, -27.5], [20.95, -27.05], [31.4, 38], [24.3, 37.7]], [[-24, -50.9], [-16.75, -29.7], [-24.4, -28], [-33.9, -56.15]], [[-16.75, -29.7], [-30.15, 35.95], [-37.4, 36.8], [-24.4, -28]], [[-30.15, 35.95], [-21.8, 46.95], [-26.05, 55.55], [-37.4, 36.8]], [[-21.8, 46.95], [17.45, 46.95], [19.2, 55.55], [-26.05, 55.55]], [[17.45, 46.95], [24.3, 37.7], [31.4, 38], [19.2, 55.55]]]); CreateBody(bead, _-39, _-3y._-8, [20]); CreateBody(bead2, _-39, _-3y._-8, [20]); CreateBody(bead3, _-39, _-3y._-8, [20]); CreateBody(bead4, _-39, _-3y._-8, [20]); CreateBody(bead5, _-39, _-3y._-8, [20]); CreateBody(vase, _-8j, _-3y.override, [[[28.3, -44.5], [17.85, -38.55], [12.2, -42.1], [25.4, -50.4]], [[12.2, -42.1], [17.85, -38.55], [18.55, -24.9], [12.2, -21.55]], [[-23.1, -50.75], [-12.45, -42.1], [-18.1, -38.25], [-27.7, -45.1]], [[-12.45, -42.1], [-12.45, -19.5], [-18.1, -23.3], [-18.1, -38.25]], [[-12.45, -19.5], [-30.6, -5.3], [-39.45, -4.55], [-29.7, -19.65], [-18.1, -23.3]], [[-30.6, -5.3], [-27.1, 24.1], [-33.1, 30.65], [-39.45, -4.55]], [[-27.1, 24.1], [-8.4, 47.25], [-9.55, 55.5], [-33.1, 30.65]], [[-8.4, 47.25], [8.1, 47.25], [-9.55, 55.5]], [[-9.55, 55.5], [8.1, 47.25], [9.4, 54.25], [-20.5, 72.45], [-20.5, 61.3]], [[19.8, 72.45], [-20.5, 72.45], [9.4, 54.25], [19.8, 60.45]], [[8.1, 47.25], [27.7, 24.1], [34.3, 27.5], [9.4, 54.25]], [[27.7, 24.1], [31.4, -4.9], [39.5, -4.3], [34.3, 27.5]], [[31.4, -4.9], [12.2, -21.55], [18.55, -24.9], [31, -19.65], [39.5, -4.3]]]); } } }//package Levels
Section 177
//Level_3 (Levels.Level_3) package Levels { import flash.display.*; public class Level_3 extends Level { public var tv:MovieClip; public var controlTV:MovieClip; public function Level_3():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; var _local9:_-6g; var _local10:_-0e; var _local11:_-2I; var _local12:_-8s; super(); _local1 = 250; _local2 = -50; _local3 = 15; _local4 = 8; _local5 = new Array((_local3 + _local4)); _local6 = new Array(((_local3 + _local4) + 2)); _local7 = 10; _local8 = 0; while (_local8 < _local3) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local9 = new _-6g(); _local9.x = _local1; _local9.y = (_local2 + (_local7 * _local3)); addChild(_local9); CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]); _local8 = _local3; while (_local8 < (_local3 + _local4)) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * (_local8 + 1))); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local10 = new _-0e(); _local10.x = _local1; _local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4))); addChildAt(_local10, 1); CreateBody(_local10, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]); _local8 = 0; while (_local8 < ((_local3 + _local4) + 2)) { _local6[_local8] = new const(); _local6[_local8].x = _local1; _local6[_local8].y = (_local2 + (_local7 * (_local8 - 1))); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-5E, []); _local8++; }; _local11 = new _-2I(); _local11.x = 275; _local11.y = -10; addChild(_local11); CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local12 = new _-8s(); _local12.x = 275; _local12.y = 410; addChildAt(_local12, 1); _-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[0, -32], [36.1, -25.65], [-275, 10], [-277, -47], [-242.65, -70.9], [-33.85, -37.8]], [[-102.1, -56.1], [-67.9, -45.05], [-242.65, -70.9], [-207, -85], [-136, -67]], [[-171.25, -79.45], [-136, -67], [-207, -85]], [[-67.9, -45.05], [-33.85, -37.8], [-242.65, -70.9]], [[-275, 10], [36.1, -25.65], [70.15, -23.9], [295, 10]], [[294.95, -101], [295, 10], [221.95, -65]], [[221.95, -65], [295, 10], [186.45, -48.55]], [[186.45, -48.55], [295, 10], [145.95, -40], [166, -44.85]], [[145.95, -40], [295, 10], [70.15, -23.9]]]); CreateBody(tv, _-8j, _-3y.override, [[[27.7, -92.75], [30.3, -91.25], [4.5, -36.5], [2.35, -37.95]], [[-23.2, -93.2], [2.35, -37.95], [-0.15, -36.8], [-25.65, -92.25]], [[-38.4, -31.8], [-0.15, -36.8], [-45.55, 2.1]], [[-0.15, -36.8], [2.35, -37.95], [4.5, -36.5], [46.7, 2.35], [40.25, 37.5], [30, 42.75], [-38, 38.75], [-45.55, 2.1]], [[40.25, -29.25], [46.7, 2.35], [4.5, -36.5]]]); CreateBody(controlTV, _-8j, _-3y.override, [[[-10, -30], [10, -30], [10, 30], [-10, 30]]]); } } }//package Levels
Section 178
//Level_4 (Levels.Level_4) package Levels { import flash.display.*; public class Level_4 extends Level { public var shoes:MovieClip; public var golfClub:MovieClip; public var miniBox:MovieClip; public var box:MovieClip; public var miniBall:MovieClip; public var ball:MovieClip; public function Level_4():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:int; var _local9:_-3Y; var _local10:_-2I; var _local11:_-2o; super(); _local1 = 180; _local2 = -200; _local3 = 10; _local4 = new Array(_local3); _local5 = new Array(_local3); _local6 = new Array(_local3); _local7 = new Array((_local3 + 1)); _local8 = 0; while (_local8 < _local3) { _local4[_local8] = new _-3C(); _local4[_local8].x = _local1; _local4[_local8].y = (_local2 + (40 * _local8)); addChildAt(_local4[_local8], 1); CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF); _local5[_local8] = new _-8I(); _local5[_local8].x = _local1; _local5[_local8].y = ((_local2 + 20) + (40 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF); _local6[_local8] = new _-6f(); _local6[_local8].x = _local1; _local6[_local8].y = ((_local2 - 10) + (40 * _local8)); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-4F, [false, false]); _local7[_local8] = new _-6f(); _local7[_local8].x = _local1; _local7[_local8].y = ((_local2 + 10) + (40 * _local8)); addChildAt(_local7[_local8], 1); _-1b(_local7[_local8], _-3A._-4F, [false, false]); _local8++; }; _local9 = new _-3Y(); _local9.x = _local1; _local9.y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-8j, _-3y._-5s, [[[-20.55, 61.55], [-8.6, 97.55], [-19.25, 101.75], [-31.05, 77.55], [-25, 61.55]], [[-8.6, 97.55], [-4.8, 97.55], [-22.75, 107.15], [-32.5, 107.15], [-19.25, 101.75]], [[-32.5, 101.75], [-19.25, 101.75], [-32.5, 107.15]], [[-22.75, 107.15], [-4.8, 97.55], [24.1, 107.2], [13.5, 117.55], [-12.2, 117.55]], [[24.1, 107.2], [-4.8, 97.55], [5, 97.65], [20.35, 101.2], [33.6, 107.2]], [[33.6, 101.2], [33.6, 107.2], [20.35, 101.2]], [[31.05, 77.4], [20.35, 101.2], [8.75, 97.65], [20.6, 61], [25.7, 60.95]], [[8.75, 97.65], [20.35, 101.2], [5, 97.65]], [[-4.8, 97.55], [-4.3, 19.75], [3.95, 20.85], [5, 97.65]], [[3.95, 20.85], [-4.3, 19.75], [6.8, -4], [6.75, 20.85]], [[-4.3, 19.75], [-7.15, 19.75], [-7.15, -4], [6.8, -4]]]); _local7[_local3] = new _-6f(); _local7[_local3].x = _local1; _local7[_local3].y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local7[_local3], 1); _-1b(_local7[_local3], _-3A._-4F, [false, false]); _local10 = new _-2I(); _local10.x = 275; _local10.y = -10; addChild(_local10); CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local11 = new _-2o(); _local11.x = 275; _local11.y = 410; addChildAt(_local11, 1); _-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[-44.6, -39.6], [0, -32], [-129.5, -35.8], [-87.9, -42.6]], [[0, -32], [70.15, -23.9], [295, 10], [-275, 10], [-170.8, -29.4], [-129.5, -35.8]], [[-208.4, -45.1], [-197.55, -38.5], [-220.95, -49]], [[-197.55, -38.5], [-185.85, -32.2], [-275, -32], [-247.9, -45.5], [-220.95, -49]], [[-185.85, -32.2], [-170.8, -29.4], [-275, 10], [-275, -32]], [[295, 10], [70.15, -23.9], [107.65, -27.25], [295, -38]], [[260.3, -43.8], [295, -38], [107.65, -27.25], [144, -35], [184.05, -40.4], [225, -43]]]); CreateBody(golfClub, _-8j, _-3y._-5s, [[[18.9, -91.15], [25.1, -89.25], [-21.6, 95.1], [-27.35, 111], [-24.1, 95.1]], [[-34.5, 97.5], [-26.8, 97.1], [-41, 111.45], [-44.55, 107.8], [-44.5, 102.7], [-38.15, 98.3]], [[-26.8, 97.1], [-24.1, 95.1], [-27.35, 111], [-33.85, 113.25], [-41, 111.45]], [[-22.5, 105.8], [-27.35, 111], [-21.6, 95.1]]]); CreateBody(miniBall, _-39, _-3y._-8, [20]); CreateBody(miniBox, _-8j, _-3y._-1D, [[[-15, 15], [-15, -15], [15, -15], [15, 15]]]); CreateBody(ball, _-39, _-3y._-8, [40]); CreateBody(box, _-8j, _-3y._-1D, [[[-25, 25], [-25, -25], [25, -25], [25, 25]]]); CreateBody(shoes, _-8j, _-3y._-1D, [[[18.8, -8], [34.3, -8], [10.8, -1.4]], [[8.95, -16], [2, -13.45], [-4.55, -28.85], [13.05, -30.9]], [[2, -13.45], [2.05, -1.4], [-22.7, -0.9], [-22.7, -29.15], [-20.45, -35], [-4.55, -28.85]], [[2.05, -1.4], [10.8, -1.4], [-28.55, 10], [-22.7, -0.9]], [[10.8, -1.4], [34.3, -8], [45.05, 1], [42.55, 24.75], [-28.8, 23.6], [-28.55, 10]]]); } } }//package Levels
Section 179
//Level_5 (Levels.Level_5) package Levels { import flash.display.*; public class Level_5 extends Level { public var ball1:MovieClip; public var ball4:MovieClip; public var ball2:MovieClip; public var ball3:MovieClip; public var fish:MovieClip; public var ambrella:MovieClip; public function Level_5():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; var _local9:_-6g; var _local10:_-2p; var _local11:_-2I; var _local12:_-6P; super(); _local1 = 420; _local2 = -50; _local3 = 20; _local4 = 10; _local5 = new Array((_local3 + _local4)); _local6 = new Array(((_local3 + _local4) + 2)); _local7 = 10; _local8 = 0; while (_local8 < _local3) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local9 = new _-6g(); _local9.x = _local1; _local9.y = (_local2 + (_local7 * _local3)); addChild(_local9); CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]); _local8 = _local3; while (_local8 < (_local3 + _local4)) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * (_local8 + 1))); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local10 = new _-2p(); _local10.x = _local1; _local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4))); addChildAt(_local10, 1); CreateBody(_local10, _-8j, _-3y._-2g, [[[-9.55, 28.35], [-3.55, 18.75], [3.55, 18.35], [-3.85, 34.35], [-9.55, 35.15]], [[-3.15, 44.35], [-9.55, 35.15], [-3.85, 34.35], [3.75, 39.05], [8.35, 44.75]], [[14.95, 37.35], [8.35, 44.75], [3.75, 39.05], [11.25, 21.25], [14.95, 23.25]], [[3.55, 18.35], [-3.55, 18.75], [-3.55, -0.95], [3.55, -0.95]]]); _local8 = 0; while (_local8 < ((_local3 + _local4) + 2)) { _local6[_local8] = new const(); _local6[_local8].x = _local1; _local6[_local8].y = (_local2 + (_local7 * (_local8 - 1))); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-5E, []); _local8++; }; _local11 = new _-2I(); _local11.x = 275; _local11.y = -10; addChild(_local11); CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local12 = new _-6P(); _local12.x = 275; _local12.y = 410; addChildAt(_local12, 1); _-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[0, -32], [37.35, -24.6], [-34.75, -37.05], [-17.3, -35.1]], [[-126.8, -123.05], [-107.25, -93.65], [-145, -140]], [[-107.25, -93.65], [-87.3, -63.65], [-189, -141.25], [-145, -140]], [[-87.3, -63.65], [-67.9, -45.05], [-262.65, -89], [-254.1, -100.85], [-245.05, -113.3], [-231, -126], [-189, -141.25]], [[-67.9, -45.05], [-34.75, -37.05], [-275, -78], [-262.65, -89]], [[-34.75, -37.05], [37.35, -24.6], [-275, 10], [-275, -78]], [[-275, 10], [37.35, -24.6], [74.05, -24.1], [295, 10]], [[294.95, -120], [295, 10], [175.15, -110.5], [190.05, -123.3], [223.95, -140], [258.5, -137.4]], [[175.15, -110.5], [295, 10], [117.85, -55.9], [139.05, -78.15], [157.95, -96]], [[117.85, -55.9], [295, 10], [74.05, -24.1]]]); CreateBody(fish, _-8j, _-3y._-1p, [[[24.15, -28.75], [37.85, -10.65], [-6.25, -26.6], [-11.8, -41.7], [7.7, -36.75]], [[-6.25, -26.6], [37.85, -10.65], [-32.4, -0.55], [-54, 0.75], [-27.4, -15.2]], [[-49.35, -37.15], [-27.4, -15.2], [-54, 0.75]], [[-32.4, -0.55], [37.85, -10.65], [32.4, 16.1], [21.65, 25.05], [4.55, 30.5], [-11.4, 27.65], [-20.45, 19.7]], [[39.05, 11.95], [32.4, 16.1], [37.85, -10.65]]]); CreateBody(ball1, _-39, _-3y._-8, [40]); CreateBody(ball2, _-39, _-3y._-8, [40]); CreateBody(ball3, _-39, _-3y._-8, [40]); CreateBody(ball4, _-39, _-3y._-8, [40]); CreateBody(ambrella, _-8j, _-3y._-1D, [[[39.5, -78.75], [40.65, -70.85], [36, -71.5]], [[40.65, -70.85], [56.6, -67.6], [-30.5, -40.3], [-47.3, -38.7], [-20.4, -62], [14.85, -72.85], [36, -71.5]], [[-30.5, -40.3], [56.6, -67.6], [-0.15, -36.35], [-17.6, -32.1]], [[-0.15, -36.35], [56.6, -67.6], [29, -32], [15.15, -27.6]], [[-6, 78], [-2.85, 85.9], [-6.85, 90.95], [-12, 77]], [[-2.85, 85.9], [11.95, 86.65], [16.6, 91.95], [-6.85, 90.95]], [[11.95, 86.65], [29, -32], [34, -31], [16.6, 91.95]], [[29, -32], [56.6, -67.6], [34, -31]], [[34, -31], [56.6, -67.6], [63.45, -27.3], [47.35, -22]], [[63.45, -27.3], [56.6, -67.6], [94.6, -22.65], [80.1, -17.85]], [[94.6, -22.65], [56.6, -67.6], [87.85, -49.6], [109.55, -17.85]]]); } } }//package Levels
Section 180
//Level_6 (Levels.Level_6) package Levels { import flash.display.*; public class Level_6 extends Level { public var ball1:MovieClip; public var clothes:MovieClip; public var bucket:MovieClip; public function Level_6():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; var _local9:_-6g; var _local10:_-2p; var _local11:_-2I; var _local12:_-72; super(); _local1 = 270; _local2 = -50; _local3 = 17; _local4 = 3; _local5 = new Array((_local3 + _local4)); _local6 = new Array(((_local3 + _local4) + 2)); _local7 = 10; _local8 = 0; while (_local8 < _local3) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local9 = new _-6g(); _local9.x = _local1; _local9.y = (_local2 + (_local7 * _local3)); addChild(_local9); CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]); _local8 = _local3; while (_local8 < (_local3 + _local4)) { _local5[_local8] = new _-1m(); _local5[_local8].x = _local1; _local5[_local8].y = (_local2 + (_local7 * (_local8 + 1))); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2); _local8++; }; _local10 = new _-2p(); _local10.x = _local1; _local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4))); addChildAt(_local10, 1); CreateBody(_local10, _-8j, _-3y._-2g, [[[-9.55, 28.35], [-3.55, 18.75], [3.55, 18.35], [-3.85, 34.35], [-9.55, 35.15]], [[-3.15, 44.35], [-9.55, 35.15], [-3.85, 34.35], [3.75, 39.05], [8.35, 44.75]], [[14.95, 37.35], [8.35, 44.75], [3.75, 39.05], [11.25, 21.25], [14.95, 23.25]], [[3.55, 18.35], [-3.55, 18.75], [-3.55, -0.95], [3.55, -0.95]]]); _local8 = 0; while (_local8 < ((_local3 + _local4) + 2)) { _local6[_local8] = new const(); _local6[_local8].x = _local1; _local6[_local8].y = (_local2 + (_local7 * (_local8 - 1))); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-5E, []); _local8++; }; removeChild(bucket); addChild(bucket); CreateBody(bucket, _-8j, _-3y._-1P, [[[42.3, -50.1], [47.5, -51.6], [46.25, -42.2], [42.45, -13.85], [29.55, 48.25]], [[-45.95, -51.65], [-39.25, 47.2], [-45, 49.05], [-51.4, -52.95]], [[-39.25, 47.2], [-18.25, 54.75], [-21, 60.95], [-45, 49.05]], [[-18.25, 54.75], [14.95, 54.7], [13.75, 61.25], [-21, 60.95]], [[14.95, 54.7], [29.55, 48.25], [34.2, 52.1], [13.75, 61.25]], [[34.2, 52.1], [29.55, 48.25], [42.45, -13.85]], [[56.05, -22.6], [42.45, -13.85], [46.25, -42.2]]]); CreateBody(clothes, _-8j, _-3y.override, [[[-80.1, 30.85], [-15.35, 11.65], [6.75, 10.45], [73.75, 31.4], [74.3, 41.85], [-81.2, 41.85]], [[-15.35, 11.65], [4.35, -7.35], [6.75, 10.45]], [[4.35, -7.35], [3.6, -16.6], [10.25, -17.3], [6.75, 10.45]], [[10.25, -17.3], [3.6, -16.6], [-4.3, -17.3], [-9.2, -20.6], [0.7, -24.35]], [[-9.6, -10.75], [-9.2, -20.6], [-4.3, -17.3], [-7.7, -10.25]]]); CreateBody(ball1, _-39, _-3y._-1D, [40]); _local11 = new _-2I(); _local11.x = 275; _local11.y = -10; addChildAt(_local11, 1); CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local12 = new _-72(); _local12.x = 275; _local12.y = 410; addChildAt(_local12, 1); _-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[-67.9, -45.05], [0, -32], [-275, 10], [-112.15, -49.15]], [[-211.15, -99.65], [-191.85, -84.4], [-250.05, -114.75], [-225.95, -109]], [[-191.85, -84.4], [-152.95, -58], [-275, 10], [-274.95, -104], [-250.05, -114.75]], [[-152.95, -58], [-112.15, -49.15], [-275, 10]], [[0, -32], [37.35, -30.55], [295, 10], [-275, 10]], [[294.95, -71], [295, 10], [210.25, -89.9], [228, -91], [260.55, -88.4]], [[210.25, -89.9], [295, 10], [122.35, -54.85], [167, -82], [183.4, -91.05], [196.6, -91.8]], [[122.35, -54.85], [295, 10], [74, -36]], [[74, -36], [295, 10], [37.35, -30.55]]]); } } }//package Levels
Section 181
//Level_7 (Levels.Level_7) package Levels { import flash.display.*; public class Level_7 extends Level { public var shoesRight:_-0h; public var shoes:MovieClip; public var telescope:MovieClip; public var ball:MovieClip; public function Level_7():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:int; var _local9:_-2A; var _local10:_-2I; var _local11:_-13; super(); _local1 = 250; _local2 = -200; _local3 = 8; _local4 = new Array(_local3); _local5 = new Array(_local3); _local6 = new Array(_local3); _local7 = new Array((_local3 + 1)); _local8 = 0; while (_local8 < _local3) { _local4[_local8] = new _-3C(); _local4[_local8].x = _local1; _local4[_local8].y = (_local2 + (40 * _local8)); addChildAt(_local4[_local8], 1); CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF); _local5[_local8] = new _-8I(); _local5[_local8].x = _local1; _local5[_local8].y = ((_local2 + 20) + (40 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF); _local6[_local8] = new _-6f(); _local6[_local8].x = _local1; _local6[_local8].y = ((_local2 - 10) + (40 * _local8)); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-4F, [false, false]); _local7[_local8] = new _-6f(); _local7[_local8].x = _local1; _local7[_local8].y = ((_local2 + 10) + (40 * _local8)); addChildAt(_local7[_local8], 1); _-1b(_local7[_local8], _-3A._-4F, [false, false]); _local8++; }; _local9 = new _-2A(); _local9.x = _local1; _local9.y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-8j, _-3y._-5s, [[[-18.75, 82.45], [-26.4, 87.6], [-48.65, 73.85], [-46.5, 71.6]], [[-26.4, 87.6], [-12.9, 97.1], [3.25, 116.95], [-32, 93.45], [-48.65, 73.85]], [[-35.05, 100.2], [-48.65, 73.85], [-32, 93.45]], [[-12.9, 97.1], [-4.25, 98.1], [3.25, 116.95]], [[-4.25, 98.1], [-4.05, 25.5], [3.6, 25.65], [8.1, 97.1], [3.25, 116.95]], [[38, 97.75], [34, 91.95], [48.75, 72.7]], [[34, 91.95], [3.25, 116.95], [16.6, 95.2], [27.75, 85.2], [45.75, 70.85], [48.75, 72.7]], [[22.75, 81.7], [45.75, 70.85], [27.75, 85.2]], [[16.6, 95.2], [3.25, 116.95], [8.1, 97.1]], [[-4.05, 25.5], [-34.6, 23.45], [-34.25, 17.55], [-4.65, 16.05], [3.85, 16.25], [32.8, 19.75], [32.9, 25.5], [3.6, 25.65]], [[10.9, 5.1], [3.85, 16.25], [-4.65, 16.05], [-11.3, 5.1], [-5.4, -5.2], [4.7, -5.2]]]); _local7[_local3] = new _-6f(); _local7[_local3].x = _local1; _local7[_local3].y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local7[_local3], 1); _-1b(_local7[_local3], _-3A._-4F, [false, false]); _local10 = new _-2I(); _local10.x = 275; _local10.y = -10; addChild(_local10); CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local11 = new _-13(); _local11.x = 275; _local11.y = 410; addChildAt(_local11, 1); _-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[-67.9, -45.05], [-42.6, -33.15], [-177, -66.9], [-144, -70], [-105.25, -61.2]], [[-42.6, -33.15], [-13, -23], [-242.15, -44.2], [-209, -58], [-177, -66.9]], [[-242.15, -44.2], [-13, -23], [-275, -32]], [[-13, -23], [26.8, -19.85], [-275, 10], [-275, -32]], [[26.8, -19.85], [70.15, -23.9], [295, -38], [295, 10], [-275, 10]], [[295, -38], [70.15, -23.9], [107.2, -36.3], [187.65, -59.95], [231.95, -59], [266.25, -51.45]], [[144.95, -51], [187.65, -59.95], [107.2, -36.3]]]); CreateBody(ball, _-39, _-3y._-8, [40]); CreateBody(shoes, _-8j, _-3y._-1D, [[[18.8, -8], [34.3, -8], [10.8, -1.4]], [[8.95, -16], [2, -13.45], [-4.55, -28.85], [13.05, -30.9]], [[2, -13.45], [2.05, -1.4], [-22.7, -0.9], [-22.7, -29.15], [-20.45, -35], [-4.55, -28.85]], [[2.05, -1.4], [10.8, -1.4], [-28.55, 10], [-22.7, -0.9]], [[10.8, -1.4], [34.3, -8], [45.05, 1], [42.55, 24.75], [-28.8, 23.6], [-28.55, 10]]]); CreateBody(shoesRight, _-8j, _-3y._-1D, [[[-14.75, -30.9], [2.85, -28.85], [-10.65, -16]], [[2.85, -28.85], [18.75, -35], [-3.7, -13.45], [-10.65, -16]], [[-3.7, -13.45], [18.75, -35], [21, -29.15], [21, -0.9], [-3.75, -1.4]], [[-20.5, -8], [-12.5, -1.4], [-46.75, 1], [-36, -8]], [[-12.5, -1.4], [-3.75, -1.4], [21, -0.9], [26.85, 10], [27.1, 23.6], [-44.25, 24.75], [-46.75, 1]]]); CreateBody(telescope, _-8j, _-3y._-1D, [[[-82, -4.9], [-75.95, -3.55], [-83.9, 0.35]], [[-75.95, -3.55], [13.35, -8.85], [11, 8.9], [-76.1, 4.75], [-83.9, 0.35]], [[-82.7, 6.85], [-83.9, 0.35], [-76.1, 4.75]], [[13.35, -8.85], [18.5, -11], [77.5, -10.75], [77.5, 11.65], [16.35, 11.1], [11, 8.9]]]); } } }//package Levels
Section 182
//Level_8 (Levels.Level_8) package Levels { import flash.display.*; public class Level_8 extends Level { public var monitor:MovieClip; public function Level_8():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:int; var _local9:_-2A; var _local10:int; var _local11:int; var _local12:_-2d; var _local13:_-5q; var _local14:*; var _local15:int; var _local16:int; var _local17:int; var _local18:int; var _local19:Array; var _local20:Array; var _local21:int; var _local22:_-6g; var _local23:_-2p; var _local24:_-2I; var _local25:_-1I; super(); _local1 = 380; _local2 = -120; _local3 = 5; _local4 = new Array(_local3); _local5 = new Array(_local3); _local6 = new Array(_local3); _local7 = new Array((_local3 + 1)); _local8 = 0; while (_local8 < _local3) { _local4[_local8] = new _-3C(); _local4[_local8].x = _local1; _local4[_local8].y = (_local2 + (40 * _local8)); addChildAt(_local4[_local8], 1); CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF); _local5[_local8] = new _-8I(); _local5[_local8].x = _local1; _local5[_local8].y = ((_local2 + 20) + (40 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF); _local6[_local8] = new _-6f(); _local6[_local8].x = _local1; _local6[_local8].y = ((_local2 - 10) + (40 * _local8)); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-4F, [false, false]); _local7[_local8] = new _-6f(); _local7[_local8].x = _local1; _local7[_local8].y = ((_local2 + 10) + (40 * _local8)); addChildAt(_local7[_local8], 1); _-1b(_local7[_local8], _-3A._-4F, [false, false]); _local8++; }; _local9 = new _-2A(); _local9.x = _local1; _local9.y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-8j, _-3y._-5s, [[[-18.75, 82.45], [-26.4, 87.6], [-48.65, 73.85], [-46.5, 71.6]], [[-26.4, 87.6], [-12.9, 97.1], [3.25, 116.95], [-32, 93.45], [-48.65, 73.85]], [[-35.05, 100.2], [-48.65, 73.85], [-32, 93.45]], [[-12.9, 97.1], [-4.25, 98.1], [3.25, 116.95]], [[-4.25, 98.1], [-4.05, 25.5], [3.6, 25.65], [8.1, 97.1], [3.25, 116.95]], [[38, 97.75], [34, 91.95], [48.75, 72.7]], [[34, 91.95], [3.25, 116.95], [16.6, 95.2], [27.75, 85.2], [45.75, 70.85], [48.75, 72.7]], [[22.75, 81.7], [45.75, 70.85], [27.75, 85.2]], [[16.6, 95.2], [3.25, 116.95], [8.1, 97.1]], [[-4.05, 25.5], [-34.6, 23.45], [-34.25, 17.55], [-4.65, 16.05], [3.85, 16.25], [32.8, 19.75], [32.9, 25.5], [3.6, 25.65]], [[10.9, 5.1], [3.85, 16.25], [-4.65, 16.05], [-11.3, 5.1], [-5.4, -5.2], [4.7, -5.2]]]); _local7[_local3] = new _-6f(); _local7[_local3].x = _local1; _local7[_local3].y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local7[_local3], 1); _-1b(_local7[_local3], _-3A._-4F, [false, false]); _local10 = 70; _local11 = 40; _local12 = new _-2d(); _local12.x = _local10; _local12.y = _local11; addChildAt(_local12, 1); CreateBody(_local12, _-8j, _-3y._-1D, [[[260.6, -12.3], [260.6, -7.95], [14.4, -4.65], [-59.6, -3.7], [-59.6, -18.35]], [[-9.7, 11.9], [-14.8, -4.25], [14.4, -4.65], [9.5, 12]], [[-14.8, -4.25], [-59.6, -3.7], [14.4, -4.65]]]); _local13 = new _-5q(); _local13.x = _local10; _local13.y = _local11; addChildAt(_local13, 1); CreateBody(_local13, _-39, _-3y._-1D, [30]); _local14 = new _-6f(); _local14.x = _local10; _local14.y = _local11; addChildAt(_local14, 1); _-1b(_local14, _-3A._-4F, [false, false]); _local15 = (_local10 + 258.15); _local16 = (_local11 - 10.4); _local17 = 15; _local18 = 13; _local19 = new Array((_local17 + _local18)); _local20 = new Array(((_local17 + _local18) + 2)); _local21 = 10; _local8 = 1; while (_local8 < _local17) { _local19[_local8] = new _-1m(); _local19[_local8].x = _local15; _local19[_local8].y = (_local16 + (_local21 * _local8)); addChildAt(_local19[_local8], 1); CreateBody(_local19[_local8], _-39, _-3y._-2g, [_local21], 1, 0, 5); _local8++; }; _local22 = new _-6g(); _local22.x = _local15; _local22.y = (_local16 + (_local21 * _local17)); addChild(_local22); CreateBody(_local22, _-39, _-3y._-2g, [(_local21 + 8)]); _local8 = _local17; while (_local8 < (_local17 + _local18)) { _local19[_local8] = new _-1m(); _local19[_local8].x = _local15; _local19[_local8].y = (_local16 + (_local21 * (_local8 + 1))); addChildAt(_local19[_local8], 1); CreateBody(_local19[_local8], _-39, _-3y._-2g, [_local21], 1, 0, 5); _local8++; }; _local23 = new _-2p(); _local23.x = _local15; _local23.y = (_local16 + (_local21 * ((_local17 + 1) + _local18))); addChildAt(_local23, 1); CreateBody(_local23, _-8j, _-3y._-2g, [[[-9.55, 28.35], [-3.55, 18.75], [3.55, 18.35], [-3.85, 34.35], [-9.55, 35.15]], [[-3.15, 44.35], [-9.55, 35.15], [-3.85, 34.35], [3.75, 39.05], [8.35, 44.75]], [[14.95, 37.35], [8.35, 44.75], [3.75, 39.05], [11.25, 21.25], [14.95, 23.25]], [[3.55, 18.35], [-3.55, 18.75], [-3.55, -0.95], [3.55, -0.95]]]); _local8 = 0; while (_local8 < ((_local17 + _local18) + 2)) { _local20[_local8] = new const(); _local20[_local8].x = _local15; _local20[_local8].y = (_local16 + (_local21 * _local8)); addChildAt(_local20[_local8], 1); _-1b(_local20[_local8], _-3A._-5E, []); _local8++; }; CreateBody(monitor, _-8j, _-3y.override, [[[-46.95, -49.95], [-22, -49.5], [8, 40.8], [7.75, 45.6], [-44.15, 45.65], [-50.75, 35.95]], [[8, 40.8], [-22, -49.5], [43.75, 20.2], [42.5, 39.9]], [[43.75, 20.2], [-22, -49.5], [48.05, -15], [49.95, 14]]]); _local24 = new _-2I(); _local24.x = 275; _local24.y = -10; addChild(_local24); CreateBody(_local24, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local25 = new _-1I(); _local25.x = 275; _local25.y = 410; addChildAt(_local25, 1); _-0W = CreateBody(_local25, _-8j, _-3y._-1p, [[[-106.75, -43.5], [-92.6, -38.05], [-136.85, -49.7]], [[-92.6, -38.05], [-76.95, -33], [-206.9, -45.3], [-136.85, -49.7]], [[-76.95, -33], [-39.25, -25.65], [-206.9, -45.3]], [[-39.25, -25.65], [-1.75, -18.5], [-275, -32], [-206.9, -45.3]], [[-1.75, -18.5], [34.8, -16.15], [295, 10], [-275, 10], [-275, -32]], [[34.8, -16.15], [69.25, -19.25], [204.1, -27.55], [224.35, -26.8], [295, 10]], [[295, -38], [295, 10], [224.35, -26.8]], [[204.1, -27.55], [69.25, -19.25], [183.8, -32.15]], [[183.8, -32.15], [69.25, -19.25], [88.9, -24.2], [163.45, -37.25]], [[143.05, -39.5], [163.45, -37.25], [88.9, -24.2], [107.3, -30.9]]]); } } }//package Levels
Section 183
//Level_9 (Levels.Level_9) package Levels { import flash.display.*; public class Level_9 extends Level { public var ball1:MovieClip; public var ball2:MovieClip; public var fish:MovieClip; public var monitor:MovieClip; public function Level_9():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:int; var _local9:_-2A; var _local10:_-2I; var _local11:_-7b; super(); _local1 = 125; _local2 = -400; _local3 = 12; _local4 = new Array(_local3); _local5 = new Array(_local3); _local6 = new Array(_local3); _local7 = new Array((_local3 + 1)); _local8 = 0; while (_local8 < _local3) { _local4[_local8] = new _-3C(); _local4[_local8].x = _local1; _local4[_local8].y = (_local2 + (40 * _local8)); addChildAt(_local4[_local8], 1); CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF); _local5[_local8] = new _-8I(); _local5[_local8].x = _local1; _local5[_local8].y = ((_local2 + 20) + (40 * _local8)); addChildAt(_local5[_local8], 1); CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF); if (_local8 != 0){ _local6[_local8] = new _-6f(); _local6[_local8].x = _local1; _local6[_local8].y = ((_local2 - 10) + (40 * _local8)); addChildAt(_local6[_local8], 1); _-1b(_local6[_local8], _-3A._-4F, [false, false]); }; _local7[_local8] = new _-6f(); _local7[_local8].x = _local1; _local7[_local8].y = ((_local2 + 10) + (40 * _local8)); addChildAt(_local7[_local8], 1); _-1b(_local7[_local8], _-3A._-4F, [false, false]); _local8++; }; _local9 = new _-2A(); _local9.x = _local1; _local9.y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local9, 1); CreateBody(_local9, _-8j, _-3y._-5s, [[[-18.75, 82.45], [-26.4, 87.6], [-48.65, 73.85], [-46.5, 71.6]], [[-26.4, 87.6], [-12.9, 97.1], [3.25, 116.95], [-32, 93.45], [-48.65, 73.85]], [[-35.05, 100.2], [-48.65, 73.85], [-32, 93.45]], [[-12.9, 97.1], [-4.25, 98.1], [3.25, 116.95]], [[-4.25, 98.1], [-4.05, 25.5], [3.6, 25.65], [8.1, 97.1], [3.25, 116.95]], [[38, 97.75], [34, 91.95], [48.75, 72.7]], [[34, 91.95], [3.25, 116.95], [16.6, 95.2], [27.75, 85.2], [45.75, 70.85], [48.75, 72.7]], [[22.75, 81.7], [45.75, 70.85], [27.75, 85.2]], [[16.6, 95.2], [3.25, 116.95], [8.1, 97.1]], [[-4.05, 25.5], [-34.6, 23.45], [-34.25, 17.55], [-4.65, 16.05], [3.85, 16.25], [32.8, 19.75], [32.9, 25.5], [3.6, 25.65]], [[10.9, 5.1], [3.85, 16.25], [-4.65, 16.05], [-11.3, 5.1], [-5.4, -5.2], [4.7, -5.2]]]); _local7[_local3] = new _-6f(); _local7[_local3].x = _local1; _local7[_local3].y = ((_local2 - 10) + (40 * _local3)); addChildAt(_local7[_local3], 1); _-1b(_local7[_local3], _-3A._-4F, [false, false]); _local10 = new _-2I(); _local10.x = 275; _local10.y = -10; addChild(_local10); CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101); _local11 = new _-7b(); _local11.x = 275; _local11.y = 410; addChildAt(_local11, 1); _-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[0, -32], [35.25, -26.9], [-258.65, -38.3], [-243, -46.6], [-210.95, -59], [-35.15, -36.85]], [[-102.85, -60.9], [-85.35, -52.05], [-174, -67.9], [-136.95, -73]], [[-85.35, -52.05], [-67.9, -45.05], [-174, -67.9]], [[-67.9, -45.05], [-35.15, -36.85], [-192.85, -62.75], [-174, -67.9]], [[-192.85, -62.75], [-35.15, -36.85], [-210.95, -59]], [[-258.65, -38.3], [35.25, -26.9], [70.15, -23.9], [295, 10], [-275, 10], [-275, -32]], [[295, -38], [295, 10], [224.35, -26.8]], [[224.35, -26.8], [295, 10], [183.8, -30.9]], [[183.8, -30.9], [295, 10], [70.15, -23.9], [107.2, -30.75], [143, -37], [163.4, -35.1]]]); CreateBody(fish, _-8j, _-3y._-1p, [[[-62, 11.5], [-56.4, -1.95], [-42.45, 7.35]], [[-56.4, -1.95], [-59.75, -17.25], [-42.45, 7.35]], [[-42.45, 7.35], [-59.75, -17.25], [-37.75, -4.15], [-2.6, 25.65], [-12.6, 26.45], [-29.5, 22.35]], [[1.75, 31], [-2.6, 25.65], [-26.2, -19.15], [-0.3, -26.95], [29.7, -19.65], [43, 9]], [[-26.2, -19.15], [-2.6, 25.65], [-37.75, -4.15]]]); CreateBody(monitor, _-8j, _-3y.override, [[[-46.95, -49.95], [-22, -49.5], [8, 40.8], [7.75, 45.6], [-44.15, 45.65], [-50.75, 35.95]], [[8, 40.8], [-22, -49.5], [43.75, 20.2], [42.5, 39.9]], [[43.75, 20.2], [-22, -49.5], [48.05, -15], [49.95, 14]]]); CreateBody(ball1, _-39, _-3y._-8, [40]); CreateBody(ball2, _-39, _-3y._-8, [40]); } } }//package Levels
Section 184
//all_1 (movie_cs3_fla.all_1) package movie_cs3_fla { import flash.display.*; public dynamic class all_1 extends MovieClip { public var musicBtn:MovieClip; public var s1:MovieClip; public var s2:MovieClip; public var s3:MovieClip; public var _-0w:MovieClip; public var gameClass:Class; public var game:Sprite; public function all_1(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ musicBtn.visible = false; stop(); } function frame1(){ musicBtn.x = 500; musicBtn.y = 350; musicBtn.visible = true; if (!_-0w){ new Mask((this as MovieClip)); }; stop(); } function frame2(){ stop(); gameClass = (loaderInfo.applicationDomain.getDefinition("Game") as Class); game = (new gameClass(this) as Sprite); musicBtn.x = 500; musicBtn.y = 62; musicBtn.visible = true; } } }//package movie_cs3_fla
Section 185
//show_28 (movie_cs3_fla.show_28) package movie_cs3_fla { import flash.display.*; public dynamic class show_28 extends MovieClip { public function show_28(){ addFrameScript(20, frame21); } function frame21(){ stop(); } } }//package movie_cs3_fla
Section 186
//Symbol2_26 (movie_cs3_fla.Symbol2_26) package movie_cs3_fla { import flash.display.*; import flash.events.*; import flash.media.*; public dynamic class Symbol2_26 extends MovieClip { public var bVolume; public var musicChannel:SoundChannel; public var music:Sound; public var soundButton:MovieClip; public function Symbol2_26(){ addFrameScript(0, frame1); } public function soundButtonListener(_arg1:MouseEvent):void{ bVolume = !(bVolume); update(); } function frame1(){ stop(); soundButton.addEventListener(MouseEvent.CLICK, soundButtonListener); bVolume = true; music = new _-A(); update(); this.buttonMode = true; } public function update(){ if (bVolume){ soundButton.gotoAndStop(1); musicChannel = music.play(0, int.MAX_VALUE); } else { soundButton.gotoAndStop(2); musicChannel.stop(); }; } } }//package movie_cs3_fla
Section 187
//Symbol9_80 (movie_cs3_fla.Symbol9_80) package movie_cs3_fla { import flash.display.*; public dynamic class Symbol9_80 extends MovieClip { public function Symbol9_80(){ addFrameScript(14, frame15); } function frame15(){ stop(); } } }//package movie_cs3_fla
Section 188
//_-0 (_-0) package { import flash.display.*; public dynamic class _-0 extends MovieClip { } }//package
Section 189
//_-0e (_-0e) package { import flash.display.*; public dynamic class _-0e extends MovieClip { } }//package
Section 190
//_-0h (_-0h) package { import flash.display.*; public dynamic class _-0h extends MovieClip { } }//package
Section 191
//_-0k (_-0k) package { import flash.display.*; public dynamic class _-0k extends MovieClip { } }//package
Section 192
//_-0m (_-0m) package { import flash.display.*; public dynamic class _-0m extends MovieClip { } }//package
Section 193
//_-13 (_-13) package { import flash.display.*; public dynamic class _-13 extends MovieClip { } }//package
Section 194
//_-1i (_-1i) package { import flash.display.*; public dynamic class _-1i extends MovieClip { } }//package
Section 195
//_-1I (_-1I) package { import flash.display.*; public dynamic class _-1I extends MovieClip { } }//package
Section 196
//_-1m (_-1m) package { import flash.display.*; public dynamic class _-1m extends MovieClip { } }//package
Section 197
//_-25 (_-25) package { public class _-25 { public static const _-5-:int = 0; public static const _-4a:int = 1; public static const _-2s:int = 2; } }//package
Section 198
//_-2A (_-2A) package { import flash.display.*; public dynamic class _-2A extends MovieClip { } }//package
Section 199
//_-2b (_-2b) package { public dynamic class _-2b extends _-73 { } }//package
Section 200
//_-2d (_-2d) package { import flash.display.*; public dynamic class _-2d extends MovieClip { } }//package
Section 201
//_-2E (_-2E) package { public dynamic class _-2E extends _-73 { } }//package
Section 202
//_-2I (_-2I) package { import flash.display.*; public dynamic class _-2I extends MovieClip { } }//package
Section 203
//_-2K (_-2K) package { import flash.display.*; public dynamic class _-2K extends SimpleButton { } }//package
Section 204
//_-2o (_-2o) package { import flash.display.*; public dynamic class _-2o extends MovieClip { } }//package
Section 205
//_-2p (_-2p) package { import flash.display.*; public dynamic class _-2p extends MovieClip { } }//package
Section 206
//_-35 (_-35) package { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class _-35 { public var separation:Number; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var _-1V:uint; public function _-35(_arg1:uint, _arg2:b2Shape, _arg3:b2Shape, _arg4:Number, _arg5:b2Vec2){ _-1V = _arg1; shape1 = _arg2; shape2 = _arg3; separation = _arg4; position = _arg5; } } }//package
Section 207
//_-3A (_-3A) package { public class _-3A { public static const _-5E:int = 0; public static const _-4F:int = 1; public static const _-0i:int = 3; public static const _-5j:int = 2; } }//package
Section 208
//_-3C (_-3C) package { import flash.display.*; public dynamic class _-3C extends MovieClip { } }//package
Section 209
//_-3F (_-3F) package { import flash.display.*; public dynamic class _-3F extends MovieClip { } }//package
Section 210
//_-3M (_-3M) package { import flash.display.*; public dynamic class _-3M extends SimpleButton { } }//package
Section 211
//_-3Y (_-3Y) package { import flash.display.*; public dynamic class _-3Y extends MovieClip { } }//package
Section 212
//_-3y (_-3y) package { public class _-3y { public static const _-1p:int = 0; public static const _-1P:int = 6; public static const _-5s:int = 1; public static const _-1D:int = 3; public static const override:int = 5; public static const _-8:int = 4; public static const _-2g:int = 2; public static var _-85:Array = new Array(new Array(0, 0.7, 0.2), new Array(3, 0.3, 0.1), new Array(1, 0.3, 0), new Array(0.5, 0.8, 0.4), new Array(1, 0.6, 0.9), new Array(0.9, 0.5, 0.5), new Array(0.5, 0.9, 0.1)); } }//package
Section 213
//_-4E (_-4E) package { import flash.display.*; public dynamic class _-4E extends MovieClip { } }//package
Section 214
//_-4m (_-4m) package { import flash.display.*; public dynamic class _-4m extends MovieClip { } }//package
Section 215
//_-4n (_-4n) package { import com.kongregate.as3.client.*; public class _-4n { public static var _-3K:KongregateAPI; public static var _-0g:Number; } }//package
Section 216
//_-5d (_-5d) package { import flash.display.*; public dynamic class _-5d extends SimpleButton { } }//package
Section 217
//_-5e (_-5e) package { public dynamic class _-5e extends _-73 { } }//package
Section 218
//_-5i (_-5i) package { import flash.display.*; public dynamic class _-5i extends MovieClip { } }//package
Section 219
//_-5q (_-5q) package { import flash.display.*; public dynamic class _-5q extends MovieClip { } }//package
Section 220
//_-5r (_-5r) package { public dynamic class _-5r extends WaveElement { } }//package
Section 221
//_-6D (_-6D) package { import flash.display.*; public dynamic class _-6D extends SimpleButton { } }//package
Section 222
//_-6f (_-6f) package { import flash.display.*; public dynamic class _-6f extends MovieClip { } }//package
Section 223
//_-6g (_-6g) package { import flash.display.*; public dynamic class _-6g extends MovieClip { } }//package
Section 224
//_-6l (_-6l) package { public dynamic class _-6l extends _-73 { } }//package
Section 225
//_-6n (_-6n) package { import flash.display.*; public dynamic class _-6n extends MovieClip { public function _-6n(){ addFrameScript(59, _-8d); } function _-8d(){ gotoAndPlay(1); } } }//package
Section 226
//_-6P (_-6P) package { import flash.display.*; public dynamic class _-6P extends MovieClip { } }//package
Section 227
//_-6w (_-6w) package { import flash.media.*; public dynamic class _-6w extends Sound { } }//package
Section 228
//_-72 (_-72) package { import flash.display.*; public dynamic class _-72 extends MovieClip { } }//package
Section 229
//_-73 (_-73) package { import flash.display.*; import flash.events.*; public class _-73 extends WaveElement { public var _-2C:MovieClip; public function _-5L(_arg1:MouseEvent=null):void{ gotoAndStop(1); this.removeEventListener(Event.ENTER_FRAME, update); finally.stop(); } public function overAction(_arg1:MouseEvent=null):void{ this.addEventListener(Event.ENTER_FRAME, update); finally.play(); gotoAndStop(2); } public function _-00(_arg1:MouseEvent=null):void{ gotoAndStop(3); } override public function clearEvents(_arg1:Event=null):void{ super.clearEvents(); this.removeEventListener(MouseEvent.MOUSE_OVER, overAction); this.removeEventListener(MouseEvent.MOUSE_DOWN, _-00); this.removeEventListener(MouseEvent.MOUSE_OUT, _-5L); } override public function ini(_arg1:Event=null):void{ super.ini(); gotoAndStop(1); finally.gotoAndStop((1 + Math.round(((finally.totalFrames - 1) * Math.random())))); this.removeEventListener(Event.ENTER_FRAME, update); update(); this.buttonMode = true; this.mouseChildren = false; this.addEventListener(MouseEvent.MOUSE_OVER, overAction); this.addEventListener(MouseEvent.MOUSE_DOWN, _-00); this.addEventListener(MouseEvent.MOUSE_OUT, _-5L); } } }//package
Section 230
//_-7b (_-7b) package { import flash.display.*; public dynamic class _-7b extends MovieClip { } }//package
Section 231
//_-7g (_-7g) package { import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Contacts.*; public class _-7g extends _-0L { public var _-6G:Array; public function _-7g(){ _-6G = new Array(); super(); } override public function _-7M(_arg1:b2ContactPoint):void{ var _local2:_-35; var _local3:Array; for each (_local2 in _-6G) { if ((((((_local2._-1V == _arg1.id._-1V)) && ((_local2.shape1 == _arg1.shape1)))) && ((_local2.shape2 == _arg1.shape2)))){ _local3 = _-6G.splice(_-6G.indexOf(_local2), 1); }; }; } override public function Add(_arg1:b2ContactPoint):void{ _-6G.push(new _-35(_arg1.id._key, _arg1.shape1, _arg1.shape2, _arg1.separation, _arg1.position)); } public function _-0c(_arg1:_-0F):Boolean{ var _local2:_-35; for each (_local2 in _-6G) { if ((((_local2.shape1.GetBody() == _arg1)) || ((_local2.shape2.GetBody() == _arg1)))){ return (true); }; }; return (false); } override public function _-B(_arg1:b2ContactPoint):void{ } override public function _-8t(_arg1:b2ContactResult):void{ } public function _-0E(_arg1:_-0F, _arg2:_-0F):Boolean{ var _local3:_-35; for each (_local3 in _-6G) { if ((((((_local3.shape1.GetBody() == _arg1)) && ((_local3.shape2.GetBody() == _arg2)))) || ((((_local3.shape1.GetBody() == _arg2)) && ((_local3.shape2.GetBody() == _arg1)))))){ return (true); }; }; return (false); } } }//package
Section 232
//_-7p (_-7p) package { public dynamic class _-7p extends WaveElement { } }//package
Section 233
//_-80 (_-80) package { import flash.display.*; public dynamic class _-80 extends MovieClip { } }//package
Section 234
//_-82 (_-82) package { import flash.display.*; public dynamic class _-82 extends MovieClip { } }//package
Section 235
//_-8C (_-8C) package { import flash.display.*; public class _-8C { public var _-43:MovieClip; public var _-1O:Array; public var _-8Y:int; public function _-8C(_arg1:MovieClip, _arg2:int, _arg3:Array){ _-1O = new Array(); super(); _-43 = _arg1; _-8Y = _arg2; _-1O = _arg3.slice(); } } }//package
Section 236
//_-8I (_-8I) package { import flash.display.*; public dynamic class _-8I extends MovieClip { } }//package
Section 237
//_-8l (_-8l) package { public dynamic class _-8l extends _-73 { } }//package
Section 238
//_-8s (_-8s) package { import flash.display.*; public dynamic class _-8s extends MovieClip { } }//package
Section 239
//_-8V (_-8V) package { public dynamic class _-8V extends WaveElement { } }//package
Section 240
//_-A (_-A) package { import flash.media.*; public dynamic class _-A extends Sound { } }//package
Section 241
//_-C (_-C) package { import flash.display.*; import flash.text.*; public dynamic class _-C extends MovieClip { public var txt:TextField; } }//package
Section 242
//_-f (_-f) package { import flash.display.*; public dynamic class _-f extends MovieClip { } }//package
Section 243
//_-r (_-r) package { import flash.display.*; public dynamic class _-r extends MovieClip { } }//package
Section 244
//const (const) package { import flash.display.*; public dynamic class const extends MovieClip { } }//package
Section 245
//Game (Game) package { import flash.display.*; import flash.events.*; import com.gamezhero.api.as3.*; import flash.media.*; import flash.utils.*; public class Game extends MovieClip { public var _-0g:uint;// = 0 public var _-1B:Sound; public var _-78; public var _-U:Level; public var resetButton; public var _-6W:int;// = 0 public var g:MovieClip; public var _-8h:_-3F; public var _-52:Timer; public var zorroButton; public var pauseButton; public var _-16:int;// = 0 public static var bVolume:Boolean = true; public function Game(_arg1:MovieClip){ _-16 = 0; _-6W = 0; _-0g = 0; super(); g = _arg1; g.addChildAt(this, 0); _-1B = new _-6w(); resetButton = new _-2K(); resetButton.name = "resetButton"; resetButton.x = 500; resetButton.y = 115; g.addChild(resetButton); resetButton.addEventListener(MouseEvent.CLICK, _-1Y); pauseButton = new _-5d(); pauseButton.name = "pauseButton"; pauseButton.x = 500; pauseButton.y = (115 + 53); g.addChild(pauseButton); pauseButton.addEventListener(MouseEvent.CLICK, _-4V); zorroButton = new _-6D(); zorroButton.name = "zorroButton"; zorroButton.x = 500; zorroButton.y = ((115 + 53) + 53); g.addChild(zorroButton); zorroButton.addEventListener(MouseEvent.CLICK, _-6N); _-78 = new _-C(); _-78.x = 55; _-78.y = 13; addChild(_-78); _-52 = new Timer(1000); _-52.addEventListener(TimerEvent.TIMER, _-2x); _-52.start(); _-7N(_-16); if (_-16 != 11){ addEventListener(Event.ENTER_FRAME, Update, false, 0, true); }; } public function _-Z(_arg1:Event){ _-52.start(); } public function _-2x(_arg1:TimerEvent):void{ _-0g++; _-78.txt.text = _-4Z(_-0g); } function _-4Z(_arg1){ var _local2:*; var _local3:*; var _local4:*; if (_arg1 < 0){ _arg1 = 0; }; _local2 = Math.floor(_arg1); _local3 = Math.floor((_local2 / 60)); _local4 = Math.floor((_local3 / 60)); _local3 = (_local3 - (Math.floor((_local3 / 60)) * 60)); _local2 = (_local2 - (Math.floor((_local2 / 60)) * 60)); if (_local4.toString().length < 2){ _local4 = ("0" + _local4); }; if (_local3.toString().length < 2){ _local3 = ("0" + _local3); }; if (_local2.toString().length < 2){ _local2 = ("0" + _local2); }; return (((((_local4 + ":") + _local3) + ":") + _local2)); } public function _-1Y(_arg1:MouseEvent):void{ _-7N(_-16); } public function _-7N(_arg1:int):void{ var levelClass:Class; var n = _arg1; try { removeChild(_-U); } catch(e:Error) { }; if (_-16 != 11){ _-16 = n; levelClass = (Preloader._-2u.applicationDomain.getDefinition(("Levels.Level_" + _-16.toString())) as Class); _-U = new (levelClass); addChildAt(_-U, 0); _-U.id = _-16; Preloader._-4O.addEventListener(MouseEvent.MOUSE_DOWN, _-U._-5F); Preloader._-4O.addEventListener(MouseEvent.MOUSE_UP, _-U._-7Q); Preloader._-4O.addEventListener(MouseEvent.MOUSE_MOVE, _-U._-x); }; if (((bVolume) && (!((_-16 == 0))))){ _-1B.play(0, 1); }; if (_-16 == 11){ removeEventListener(MouseEvent.CLICK, _-1Y); removeEventListener(MouseEvent.CLICK, _-4V); removeEventListener(MouseEvent.CLICK, _-6N); removeEventListener(MouseEvent.CLICK, _-6N); removeEventListener(Event.ENTER_FRAME, Update, false); _-52.removeEventListener(TimerEvent.TIMER, _-2x); _-52.stop(); try { g.removeChild(resetButton); g.removeChild(pauseButton); g.removeChild(zorroButton); removeChild(_-78); } catch(e:Error) { }; try { _-4n._-0g = _-0g; (this.parent as MovieClip).gotoAndStop("score"); g.removeChild(this); } catch(e:Error) { }; }; try { parent["s2"].gotoAndPlay(1); } catch(e:Error) { }; } public function _-6N(_arg1:MouseEvent):void{ GamezheroApi.linkZorroLogo(); } public function _-4V(_arg1:MouseEvent):void{ var _local2:MovieClip; _-52.stop(); _local2 = new Pause((g as MovieClip)); _local2.addEventListener("CLOSE_PAUSE", _-Z); } public function Update(_arg1:Event):void{ if (_-U._-4T != _-25._-2s){ _-U.Update(_arg1); } else { _-16++; if (_-16 <= 11){ _-7N(_-16); }; }; } } }//package
Section 246
//Level (Level) package { import Box2D.Common.Math.*; import flash.display.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; import flash.events.*; import flash.utils.*; public class Level extends Sprite { public var _-0W:_-0F; public var id:int; public var _-01:_-7g; public var import:Timer; public var _-0G:Boolean; public var m_world:_-5Y; public var _-4T:int;// = 0 public var m_ground:_-0F; public var _-G:b2DebugDraw; public var _-3G:_-5i; public var _-y:Sprite; public var _-3m:b2MouseJoint; public static const _-44:Number = 30; public static const _-4k:int = 10; public static const package:Number = 0.0333333333333333; public static const _-39:int = 1; public static const _-8j:int = 0; public static const _-46:Number = 1.5; public static var _-6U:Number; public static var while:Number; public static var _-6j:Number; public static var _-5G:Number; public function Level():void{ var _local1:b2AABB; var _local2:b2Vec2; var _local3:Boolean; var _local4:*; _-4T = _-25._-5-; import = new Timer(8000, 1); _-G = new b2DebugDraw(); super(); _-y = this; _local1 = new b2AABB(); _local1._-6x.Set(-1000, -1000); _local1._-0Q.Set(1000, 1000); _local2 = new b2Vec2(0, 10); _local3 = true; m_world = new _-5Y(_local1, _local2, _local3); _-01 = new _-7g(); m_world._-3S(_-01); m_ground = m_world.GetGroundBody(); CreateCommonObjects(); import.addEventListener(TimerEvent.TIMER_COMPLETE, _-2y); _local4 = new Sprite(); addChild(_local4); _-G._-y = _local4; _-G._-1W = _-44; _-G.m_fillAlpha = 1; _-G._-P = 0.5; _-G._-4D = 1.5; _-G._-o = b2DebugDraw.class; m_world._-0D(_-G); } public function _-0P(_arg1:Boolean=false):_-0F{ var _local2:b2Vec2; var _local3:b2AABB; var _local4:int; var _local5:Array; var _local6:int; var _local7:_-0F; var _local8:int; var _local9:b2Shape; var _local10:Boolean; _local2 = new b2Vec2(); _local2.Set(_-6j, _-5G); _local3 = new b2AABB(); _local3._-6x.Set((_-6j - 0.001), (_-5G - 0.001)); _local3._-0Q.Set((_-6j + 0.001), (_-5G + 0.001)); _local4 = 10; _local5 = new Array(); _local6 = m_world._-5v(_local3, _local5, _local4); _local7 = null; _local8 = 0; while (_local8 < _local6) { if ((((_local5[_local8].GetBody().IsStatic() == false)) || (_arg1))){ _local9 = (_local5[_local8] as b2Shape); _local10 = _local9.TestPoint(_local9.GetBody().GetXForm(), _local2); if (_local10){ _local7 = _local9.GetBody(); break; }; }; _local8++; }; return (_local7); } public function _-3l(_arg1:Number, _arg2:Number, _arg3:Boolean=true):Array{ var _local4:Array; var _local5:b2Vec2; var _local6:b2AABB; var _local7:int; var _local8:Array; var _local9:int; var _local10:_-0F; var _local11:int; var _local12:b2Shape; var _local13:Boolean; _local4 = new Array(); _local5 = new b2Vec2(_arg1, _arg2); _local6 = new b2AABB(); _local6._-6x.Set((_arg1 - 0.001), (_arg2 - 0.001)); _local6._-0Q.Set((_arg1 + 0.001), (_arg2 + 0.001)); _local7 = 10; _local8 = new Array(); _local9 = m_world._-5v(_local6, _local8, _local7); _local10 = null; _local11 = 0; while (_local11 < _local9) { if ((((_local8[_local11].GetBody().IsStatic() == false)) || (_arg3))){ _local12 = (_local8[_local11] as b2Shape); _local13 = _local12.TestPoint(_local12.GetBody().GetXForm(), _local5); if (_local13){ _local10 = _local12.GetBody(); _local4.push(_local10); }; }; _local11++; }; return (_local4); } public function _-2Q():void{ import.removeEventListener(TimerEvent.TIMER_COMPLETE, _-2y); removeChild(_-3G); } public function _-7Q(_arg1:MouseEvent):void{ if (_-3m){ m_world._-7s(_-3m); _-3m = null; }; } public function _-5F(_arg1:MouseEvent):void{ var _local2:_-0F; var _local3:b2MouseJointDef; if (!_-3m){ _local2 = _-0P(); if (_local2){ _local3 = new b2MouseJointDef(); _local3.body1 = m_world.GetGroundBody(); _local3.body2 = _local2; _local3.target.Set(_-6j, _-5G); switch (id){ case 0: _local3.maxForce = (60 * _local2._-71()); break; case 1: _local3.maxForce = (50 * _local2._-71()); break; case 2: _local3.maxForce = (50 * _local2._-71()); break; case 3: _local3.maxForce = (50 * _local2._-71()); break; case 4: _local3.maxForce = (60 * _local2._-71()); break; case 5: _local3.maxForce = ((50 * _local2._-71()) + 50); break; case 6: _local3.maxForce = ((50 * _local2._-71()) + 50); break; case 7: _local3.maxForce = (50 * _local2._-71()); break; case 8: _local3.maxForce = (80 + (40 * _local2._-71())); break; case 9: _local3.maxForce = 350; break; case 10: _local3.maxForce = 350; break; case 11: _local3.maxForce = 0; break; }; _local3.timeStep = package; _-3m = (m_world._-1b(_local3) as b2MouseJoint); _local2.WakeUp(); }; }; } public function _-1b(_arg1, _arg2:int, _arg3:Array):b2Joint{ var _local4:MovieClip; var _local5:b2Joint; var _local6:_-8C; var _local7:b2DistanceJointDef; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:_-0F; var _local11:_-0F; var _local12:b2RevoluteJointDef; var _local13:b2Vec2; var _local14:b2PrismaticJointDef; var _local15:b2Vec2; if ((_arg1 is MovieClip)){ _local4 = _arg1; } else { _local4 = (this.getChildByName(_arg1) as MovieClip); }; _local6 = new _-8C(_arg1, _arg2, _arg3); switch (_arg2){ case _-3A._-5E: _local7 = new b2DistanceJointDef(); _local8 = new b2Vec2((_local4.x / _-44), (_local4.y / _-44)); _local9 = new b2Vec2(((_local4.x + _local4.width) / _-44), ((_local4.y + _local4.height) / _-44)); _local10 = _-3l(_local8.x, _local8.y)[0]; _local11 = _-3l(_local9.x, _local9.y)[0]; if (_local10 == null){ _local10 = m_ground; }; if (_local11 == null){ _local11 = m_ground; }; _local7.Initialize(_local10, _local11, _local8, _local9); _local5 = m_world._-1b(_local7); break; case _-3A._-4F: _local12 = new b2RevoluteJointDef(); _local13 = new b2Vec2((_local4.x / _-44), (_local4.y / _-44)); _local10 = _-3l(_local13.x, _local13.y)[0]; _local11 = _-3l(_local13.x, _local13.y)[1]; if (_local10 == null){ _local10 = m_ground; }; if (_local11 == null){ _local11 = m_ground; }; _local12.enableMotor = _arg3[0]; _local12.enableLimit = _arg3[1]; if (_local12.enableMotor){ _local12.motorSpeed = _arg3[2]; _local12.maxMotorTorque = _arg3[3]; }; if (_local12.enableLimit){ _local12.lowerAngle = ((_arg3[4] * Math.PI) / 180); _local12.upperAngle = ((_arg3[5] * Math.PI) / 180); }; _local12.Initialize(_local10, _local11, _local13); _local5 = m_world._-1b(_local12); break; case _-3A._-5j: _local14 = new b2PrismaticJointDef(); _local8 = new b2Vec2((_local4.x / _-44), (_local4.y / _-44)); _local9 = new b2Vec2(((_local4.x + (100 * Math.cos(((_local4.rotation * Math.PI) / 180)))) / _-44), ((_local4.y + (100 * Math.sin(((_local4.rotation * Math.PI) / 180)))) / _-44)); _local10 = _-3l(_local8.x, _local8.y)[0]; _local11 = _-3l(_local9.x, _local9.y)[0]; if (_local10 == null){ _local10 = m_ground; }; if (_local11 == null){ _local11 = m_ground; }; _local15 = new b2Vec2((_local9.x - _local8.x), (_local9.y - _local8.y)); _local15 = new b2Vec2((_local15.x / _local15.Length()), (_local15.y / _local15.Length())); _local14.enableMotor = _arg3[0]; _local14.enableLimit = _arg3[1]; if (_local14.enableMotor){ _local14.motorSpeed = _arg3[2]; _local14.maxMotorForce = _arg3[3]; }; if (_local14.enableLimit){ _local14.lowerTranslation = _arg3[4]; _local14.upperTranslation = _arg3[5]; }; _local14.Initialize(_local10, _local11, _local8, _local15); _local5 = m_world._-1b(_local14); break; }; _local5.m_userData = _local6; if (_-y.contains(_local4)){ _-y.removeChild(_local4); }; return (_local5); } public function _-2y(_arg1:TimerEvent):void{ _-4T = _-25._-2s; } public function CreateBody(_arg1:Sprite, _arg2:int, _arg3:int, _arg4:Array, _arg5:uint=1, _arg6:uint=0xFFFF, _arg7:Number=1.5):_-0F{ var _local8:_-0F; var _local9:_-8u; var _local10:b2CircleDef; var _local11:int; var _local12:b2PolygonDef; var _local13:int; _local9 = new _-8u(); _local9.position = new b2Vec2((_arg1.x / _-44), (_arg1.y / _-44)); _local9.angle = (_arg1.rotation * (Math.PI / 180)); _local9.userData = _arg1; _local9._-5I = _arg7; _local9._-6r = _arg7; _local8 = m_world.CreateBody(_local9); switch (_arg2){ case _-8j: _local11 = 0; while (_local11 < _arg4.length) { _local12 = new b2PolygonDef(); _local12.vertexCount = _arg4[_local11].length; _local13 = 0; while (_local13 < _local12.vertexCount) { _local12.vertices[_local13].Set((_arg4[_local11][_local13][0] / _-44), (_arg4[_local11][_local13][1] / _-44)); _local13++; }; _local12.density = _-3y._-85[_arg3][0]; _local12.friction = _-3y._-85[_arg3][1]; _local12.restitution = _-3y._-85[_arg3][2]; _local12.filter.categoryBits = _arg5; _local12.filter.maskBits = _arg6; _local8._-8c(_local12); _local11++; }; break; case _-39: _local10 = new b2CircleDef(); _local10.radius = ((_arg4[0] / 2) / _-44); _local10.localPosition.Set(0, 0); _local10.density = _-3y._-85[_arg3][0]; _local10.friction = _-3y._-85[_arg3][1]; _local10.restitution = _-3y._-85[_arg3][2]; _local10.filter.categoryBits = _arg5; _local10.filter.maskBits = _arg6; _local8._-8c(_local10); break; }; _local8._-6A(); return (_local8); } public function Update(_arg1:Event):void{ var _local2:_-0F; m_world._-07(package, _-4k); _-0G = true; _local2 = m_world._-17; while (_local2) { if ((_local2.m_userData is Sprite)){ _local2.m_userData.x = (_local2._-1r().x * _-44); _local2.m_userData.y = (_local2._-1r().y * _-44); _local2.m_userData.rotation = ((_local2.GetAngle() * (180 / Math.PI)) % 360); }; if (((_local2._-5t()) && (!(_local2.IsSleeping())))){ _-0G = false; }; _local2 = _local2.m_next; }; if (((_-01._-0c(_-0W)) || (_-3m))){ _-4T = _-25._-5-; if (import.running){ import.stop(); import.reset(); _-3G.gotoAndStop(1); }; } else { _-4T = _-25._-4a; if (!import.running){ import.start(); _-3G.gotoAndPlay(1); }; }; if (((_-0G) && ((_-4T == _-25._-4a)))){ _-4T = _-25._-2s; if (import.running){ import.stop(); import.reset(); _-3G.stop(); }; }; } public function CreateCommonObjects():void{ var _local1:_-1i; var _local2:_-1i; _-3G = new _-5i(); _-3G.x = 30; _-3G.y = 30; addChild(_-3G); _-3G.stop(); _local1 = new _-1i(); _local1.x = -10; _local1.y = 200; addChild(_local1); CreateBody(_local1, _-8j, _-3y._-1p, [[[-10, -210], [10, -210], [10, 210], [-10, 210]]]); _local2 = new _-1i(); _local2.x = 560; _local2.y = 200; addChild(_local2); CreateBody(_local2, _-8j, _-3y._-1p, [[[-10, -210], [10, -210], [10, 210], [-10, 210]]]); } public function _-x(_arg1:MouseEvent):void{ var _local2:b2Vec2; _-6j = (_arg1.stageX / _-44); _-5G = (_arg1.stageY / _-44); while = _arg1.stageX; _-6U = _arg1.stageY; if (_-3m){ _local2 = new b2Vec2(_-6j, _-5G); _-3m.SetTarget(_local2); }; } } }//package
Section 247
//MainMenu (MainMenu) package { import flash.display.*; import flash.events.*; import com.gamezhero.api.as3.*; public class MainMenu extends MovieClip { public var moreGamesBtn:_-6l; private var btn3:MovieClip; private var btn4:MovieClip; private var btn1:MovieClip; private var btn5:MovieClip; private var btn2:MovieClip; public var playBtn:_-2E; public var gamezheroBtn:_-8l; public var logo:WaveElement; public var topScoreBtn:_-73; public var twitterBtn:_-2b; public function MainMenu(){ ini(); } public function ini(_arg1:Event=null):void{ btn1 = (this["playBtn"] as MovieClip); btn2 = (this["topScoreBtn"] as MovieClip); btn3 = (this["moreGamesBtn"] as MovieClip); btn4 = (this["gamezheroBtn"] as MovieClip); btn5 = (this["twitterBtn"] as MovieClip); this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents); btn1.addEventListener(MouseEvent.CLICK, gotoAction); btn2.addEventListener(MouseEvent.CLICK, gotoAction); btn3.addEventListener(MouseEvent.CLICK, gotoAction); btn4.addEventListener(MouseEvent.CLICK, gotoAction); btn5.addEventListener(MouseEvent.CLICK, gotoAction); } public function gotoAction(_arg1:MouseEvent=null):void{ switch (_arg1.target){ case btn1: (this.parent as MovieClip).gotoAndStop("game"); break; case btn2: GamezheroApi.linkTopScore(); break; case btn3: GamezheroApi.linkMoreGames(); break; case btn4: GamezheroApi.linkZorroLogo(); break; case btn5: GamezheroApi.linkTwitter(); break; default: GamezheroApi.linkMoreGames(); }; } public function clearEvents(_arg1:Event=null):void{ this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents); btn1.removeEventListener(MouseEvent.CLICK, gotoAction); btn2.removeEventListener(MouseEvent.CLICK, gotoAction); btn3.removeEventListener(MouseEvent.CLICK, gotoAction); btn4.removeEventListener(MouseEvent.CLICK, gotoAction); btn5.removeEventListener(MouseEvent.CLICK, gotoAction); } } }//package
Section 248
//Mask (Mask) package { import flash.display.*; import flash.events.*; public class Mask extends MovieClip { private var g:MovieClip; public function Mask(_arg1:MovieClip){ g = _arg1; g.addChild(this); ini(); } public function ini():void{ g.addEventListener(Event.ADDED_TO_STAGE, update); } public function update(_arg1:Event):void{ g.removeChild(this); g.addChild(this); } } }//package
Section 249
//Pause (Pause) package { import flash.display.*; import flash.events.*; import com.gamezhero.api.as3.*; public class Pause extends MovieClip { private var btn3:MovieClip; private var btn2:MovieClip; private var btn4:MovieClip; private var btn1:MovieClip; private var btn5:MovieClip; private var g:MovieClip; public var playBtn:_-5e; public var gamezheroBtn:_-8l; private var _-0n:Boolean; public function Pause(_arg1:MovieClip){ g = _arg1; g.getChildByName("zorroButton").visible = false; g.getChildByName("pauseButton").visible = false; g.getChildByName("resetButton").visible = false; g["musicBtn"].visible = false; g["s2"].gotoAndPlay(1); g.addChild(this); _-0n = g["musicBtn"].bVolume; g["musicBtn"].bVolume = false; g["musicBtn"].update(); ini(); } public function ini(_arg1:Event=null):void{ btn1 = (this["playBtn"] as MovieClip); btn4 = (this["gamezheroBtn"] as MovieClip); this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents); btn1.addEventListener(MouseEvent.CLICK, gotoAction); btn4.addEventListener(MouseEvent.CLICK, gotoAction); } public function gotoAction(_arg1:MouseEvent=null):void{ switch (_arg1.target){ case btn1: _-77(); break; case btn4: GamezheroApi.linkZorroLogo(); break; default: GamezheroApi.linkMoreGames(); }; } public function clearEvents(_arg1:Event=null):void{ this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents); btn1.removeEventListener(MouseEvent.CLICK, gotoAction); btn4.removeEventListener(MouseEvent.CLICK, gotoAction); } public function _-77():void{ g.getChildByName("zorroButton").visible = true; g.getChildByName("pauseButton").visible = true; g.getChildByName("resetButton").visible = true; g["musicBtn"].visible = true; g["musicBtn"].bVolume = _-0n; g["musicBtn"].update(); g["s2"].gotoAndPlay(1); g.removeChild(this); this.dispatchEvent(new Event("CLOSE_PAUSE")); } } }//package
Section 250
//Preloader (Preloader) package { import flash.display.*; import com.gamezhero.api.as3.*; import flash.text.*; import flash.errors.*; import com.kongregate.as3.client.*; public class Preloader extends MovieClip { private var _-3g:TextField; private var _-5S:Sprite; public static var _-4O:Stage; public static var _-2u:LoaderInfo; public function Preloader(){ var i:uint; var g:*; super(); addFrameScript(0, frame1); stop(); _-2u = loaderInfo; _-4O = stage; stage.scaleMode = StageScaleMode.NO_SCALE; i = 0; while (i <= (this.numChildren - 1)) { g = this.getChildAt(i); if ((g is MovieClip)){ this.removeChild(g); break; }; i = (i + 1); }; GamezheroApi.ini("seabedcleaner"); GamezheroApi.preloader(this, _-6y); try { _-4n._-3K = new KongregateAPI(); this.addChild(_-4n._-3K); } catch(error:IllegalOperationError) { _-4n._-3K = KongregateAPI.getInstance(); }; } private function _-6y():void{ gotoAndStop(2); } function frame1(){ stop(); } } }//package
Section 251
//WaveElement (WaveElement) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.filters.*; public class WaveElement extends MovieClip { public var finally:_-6n; private var _-5Q:BitmapData; private var _-90:DisplacementMapFilter; private var _-0l:Point; public function WaveElement(){ _-5Q = new BitmapData(this.width, this.height, false, 0); _-0l = new Point(0, 0); _-90 = new DisplacementMapFilter(_-5Q, _-0l, 1, 1, 10, 10); finally = new _-6n(); ini(); } public function ini(_arg1:Event=null):void{ this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents); this.addEventListener(Event.ENTER_FRAME, update); } public function update(_arg1:Event=null):void{ _-5Q.draw(finally); this.filters = [_-90]; } public function clearEvents(_arg1:Event=null):void{ this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents); this.removeEventListener(Event.ENTER_FRAME, update); } } }//package
Section 252
//with (with) package { import flash.display.*; public dynamic class with extends MovieClip { public var _-7E:_-6n; public function with(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:3 65523
Symbol 3 MovieClip {_-7p}Uses:2
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClip {Mask}Uses:4
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClip {_-5r}Uses:6Used by:69
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:12
Symbol 10 GraphicUsed by:11 67
Symbol 11 MovieClipUses:10Used by:12 35 38 41 47 152
Symbol 12 MovieClip {_-73}Uses:9 11Used by:61
Symbol 13 MovieClip {com.kongregate.as3.client.KongregateAPI}
Symbol 65521 GraphicUsed by:65524
Symbol 65523 EditableTextUses:2Used by:65524
Symbol 65524 MovieClipUses:65521 65523Used by:Timeline
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:16
Symbol 16 MovieClipUses:15Used by:17
Symbol 17 MovieClip {_-82}Uses:16Used by:61 69 83 88 96 100 106 115 121 123 127 131 139 153 251
Symbol 18 GraphicUsed by:61
Symbol 19 BitmapUsed by:20 149
Symbol 20 GraphicUses:19Used by:21
Symbol 21 MovieClipUses:20Used by:61
Symbol 22 BitmapUsed by:23 149
Symbol 23 GraphicUses:22Used by:24
Symbol 24 MovieClipUses:23Used by:61
Symbol 25 GraphicUsed by:61
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:61 207 215 221 223
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:30
Symbol 30 MovieClipUses:29Used by:61 69
Symbol 31 BitmapUsed by:33
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:31 32Used by:34
Symbol 34 MovieClipUses:33Used by:35
Symbol 35 MovieClip {_-2b}Uses:34 11Used by:61
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:38
Symbol 38 MovieClip {_-2E}Uses:37 11Used by:61
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClipUses:39Used by:41
Symbol 41 MovieClip {_-6l}Uses:40 11Used by:61
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:42Used by:47
Symbol 44 GraphicUsed by:47
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:47
Symbol 47 MovieClip {_-8l}Uses:43 44 46 11Used by:61 69 153
Symbol 48 FontUsed by:49 60
Symbol 49 EditableTextUses:48Used by:61
Symbol 50 GraphicUsed by:55
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:55
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:55
Symbol 55 MovieClip {WaveElement}Uses:50 52 54Used by:61
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClipUses:56Used by:61 219
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClipUses:58Used by:61
Symbol 60 TextUses:48Used by:61
Symbol 61 MovieClip {MainMenu}Uses:17 18 21 24 25 27 30 35 38 12 41 47 49 55 57 59 60Used by:252
Symbol 62 GraphicUsed by:64
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:62 63Used by:65
Symbol 65 MovieClip {movie_cs3_fla.Symbol2_26}Uses:64Used by:252
Symbol 66 ShapeTweeningUsed by:67
Symbol 67 MovieClip {movie_cs3_fla.show_28}Uses:66 10Used by:252
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClip {Levels.Level_11}Uses:17 68 30 7 47Used by:251 252
Symbol 70 MovieClip {Game}Used by:251
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:83 100
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:83 123
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:75Used by:83 106
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClipUses:77Used by:83 88 106
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:83 88 96 100 106 115 121 123 127 131 139
Symbol 81 FontUsed by:82 86 87 95 99 105 120 122 130 138 247
Symbol 82 TextUses:81Used by:83
Symbol 83 MovieClip {Levels.Level_1}Uses:17 72 74 76 78 80 82Used by:251
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClip {_-0h}Uses:84Used by:88 96
Symbol 86 TextUses:81Used by:88
Symbol 87 TextUses:81Used by:88
Symbol 88 MovieClip {Levels.Level_0}Uses:17 78 85 86 80 87Used by:251
Symbol 89 GraphicUsed by:90
Symbol 90 MovieClipUses:89Used by:96
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:96 106
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:96 100 106 123 131 139
Symbol 95 TextUses:81Used by:96
Symbol 96 MovieClip {Levels.Level_7}Uses:17 90 92 85 94 80 95Used by:251
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClipUses:97Used by:100
Symbol 99 TextUses:81Used by:100
Symbol 100 MovieClip {Levels.Level_5}Uses:17 94 98 72 80 99Used by:251
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClipUses:101Used by:106
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClipUses:103Used by:106 123
Symbol 105 TextUses:81Used by:106
Symbol 106 MovieClip {Levels.Level_4}Uses:17 102 104 94 78 76 92 80 105Used by:251
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:115
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClip {_-80}Uses:109Used by:115
Symbol 111 FontUsed by:112 126
Symbol 112 TextUses:111Used by:115
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:115
Symbol 115 MovieClip {Levels.Level_2}Uses:17 108 110 80 112 114Used by:251
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:121
Symbol 118 GraphicUsed by:119
Symbol 119 MovieClipUses:118Used by:121
Symbol 120 TextUses:81Used by:121
Symbol 121 MovieClip {Levels.Level_3}Uses:17 117 119 80 120Used by:251
Symbol 122 TextUses:81Used by:123
Symbol 123 MovieClip {Levels.Level_10}Uses:17 104 94 74 80 122Used by:251
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:124Used by:127 131
Symbol 126 TextUses:111Used by:127
Symbol 127 MovieClip {Levels.Level_8}Uses:17 125 80 126Used by:251
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClipUses:128Used by:131
Symbol 130 TextUses:81Used by:131
Symbol 131 MovieClip {Levels.Level_9}Uses:17 129 125 94 80 130Used by:251
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClipUses:132Used by:139
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClipUses:134Used by:137
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:135 136Used by:139
Symbol 138 TextUses:81Used by:139
Symbol 139 MovieClip {Levels.Level_6}Uses:17 133 137 94 80 138Used by:251
Symbol 140 GraphicUsed by:146
Symbol 141 GraphicUsed by:144
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:142Used by:144
Symbol 144 MovieClipUses:141 143Used by:145
Symbol 145 MovieClipUses:144Used by:146
Symbol 146 MovieClip {_-6n}Uses:140 145Used by:251
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClip {_-8V}Uses:147Used by:153
Symbol 149 GraphicUses:22 19Used by:153
Symbol 150 FontUsed by:151
Symbol 151 TextUses:150Used by:152
Symbol 152 MovieClip {_-5e}Uses:151 11Used by:153
Symbol 153 MovieClip {Pause}Uses:17 148 149 47 152Used by:251
Symbol 154 GraphicUsed by:159
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClipUses:155Used by:159 215 225 229
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:157Used by:159 219 227
Symbol 159 MovieClip {_-72}Uses:154 156 158Used by:251
Symbol 160 GraphicUsed by:161
Symbol 161 Button {_-3M}Uses:160Used by:251
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClip {_-3F}Uses:162Used by:251
Symbol 164 GraphicUsed by:165
Symbol 165 Button {_-2K}Uses:164Used by:251
Symbol 166 FontUsed by:167
Symbol 167 TextUses:166Used by:168 170
Symbol 168 MovieClip {movie_cs3_fla.Symbol9_80}Uses:167Used by:170
Symbol 169 GraphicUsed by:170
Symbol 170 ButtonUses:167 168 169Used by:251
Symbol 171 GraphicUsed by:174
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:174
Symbol 174 MovieClip {_-5i}Uses:171 173Used by:251
Symbol 175 MovieClip {_-1i}Used by:251
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:179
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClip {_-3Y}Uses:177 178Used by:251
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:183
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClip {_-4E}Uses:181 182Used by:251
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClipUses:184Used by:187
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClip {_-2A}Uses:185 186Used by:251
Symbol 188 GraphicUsed by:189
Symbol 189 MovieClip {_-3C}Uses:188Used by:251
Symbol 190 GraphicUsed by:191
Symbol 191 MovieClip {_-8I}Uses:190Used by:251
Symbol 192 MovieClipUsed by:251
Symbol 193 GraphicUsed by:251
Symbol 194 GraphicUsed by:251
Symbol 195 MovieClip {_-1m}Used by:251
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClip {_-r}Uses:196Used by:251
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClip {_-2p}Uses:198Used by:251
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClip {_-0e}Uses:200Used by:251
Symbol 202 GraphicUsed by:203
Symbol 203 MovieClipUses:202Used by:204
Symbol 204 MovieClip {_-6g}Uses:203Used by:251
Symbol 205 MovieClip {_-2I}Used by:251
Symbol 206 GraphicUsed by:207
Symbol 207 MovieClip {_-0k}Uses:206 27Used by:251
Symbol 208 GraphicUsed by:213
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClipUses:209Used by:213 217 221 223 225 229
Symbol 211 GraphicUsed by:212
Symbol 212 MovieClipUses:211Used by:213 227
Symbol 213 MovieClip {_-4m}Uses:208 210 212Used by:251
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClip {_-0m}Uses:214 27 156Used by:251
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClip {_-8s}Uses:216 210Used by:251
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClip {_-2o}Uses:218 158 57Used by:251
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClip {_-6P}Uses:220 27 210Used by:251
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClip {_-13}Uses:222 27 210Used by:251
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClip {_-1I}Uses:224 156 210Used by:251
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClip {_-7b}Uses:226 158 212Used by:251
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClip {_-0}Uses:228 156 210Used by:251
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClip {_-f}Uses:230Used by:251
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClip {const}Uses:232Used by:251
Symbol 234 MovieClip {_-6f}Used by:251
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:235Used by:251
Symbol 237 GraphicUsed by:238
Symbol 238 MovieClip {_-2d}Uses:237Used by:251
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClip {_-5q}Uses:239Used by:251
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClipUses:241Used by:251
Symbol 243 GraphicUsed by:244
Symbol 244 Button {_-5d}Uses:243Used by:251
Symbol 245 GraphicUsed by:246
Symbol 246 Button {_-6D}Uses:245Used by:251
Symbol 247 EditableTextUses:81Used by:248
Symbol 248 MovieClip {_-C}Uses:247Used by:251
Symbol 249 Sound {_-A}Used by:251
Symbol 250 Sound {_-6w}Used by:251
Symbol 251 MovieClip {with}Uses:70 83 88 96 100 106 115 121 123 127 131 139 69 17 146 153 159 161 163 165 170 174 175 179 183 187 189 191 192 193 194 195 197 199 201 204 205 207 213 215 217 219 221 223 225 227 229 231 233 234 236 238 240 242 244 246 248 249 250Used by:252
Symbol 252 MovieClip {movie_cs3_fla.all_1}Uses:61 65 67 69 251Used by:Timeline

Instance Names

"_-2C"Symbol 12 MovieClip {_-73} Frame 1Symbol 11 MovieClip
"_-2C"Symbol 35 MovieClip {_-2b} Frame 1Symbol 11 MovieClip
"_-2C"Symbol 38 MovieClip {_-2E} Frame 1Symbol 11 MovieClip
"_-2C"Symbol 41 MovieClip {_-6l} Frame 1Symbol 11 MovieClip
"_-2C"Symbol 47 MovieClip {_-8l} Frame 1Symbol 11 MovieClip
"twitterBtn"Symbol 61 MovieClip {MainMenu} Frame 1Symbol 35 MovieClip {_-2b}
"playBtn"Symbol 61 MovieClip {MainMenu} Frame 1Symbol 38 MovieClip {_-2E}
"topScoreBtn"Symbol 61 MovieClip {MainMenu} Frame 1Symbol 12 MovieClip {_-73}
"moreGamesBtn"Symbol 61 MovieClip {MainMenu} Frame 1Symbol 41 MovieClip {_-6l}
"gamezheroBtn"Symbol 61 MovieClip {MainMenu} Frame 1Symbol 47 MovieClip {_-8l}
"logo"Symbol 61 MovieClip {MainMenu} Frame 1Symbol 55 MovieClip {WaveElement}
"soundButton"Symbol 65 MovieClip {movie_cs3_fla.Symbol2_26} Frame 1Symbol 64 MovieClip
"gamezheroBtn"Symbol 69 MovieClip {Levels.Level_11} Frame 1Symbol 47 MovieClip {_-8l}
"ambrella"Symbol 83 MovieClip {Levels.Level_1} Frame 1Symbol 72 MovieClip
"track"Symbol 83 MovieClip {Levels.Level_1} Frame 1Symbol 74 MovieClip
"miniBox"Symbol 83 MovieClip {Levels.Level_1} Frame 1Symbol 76 MovieClip
"miniBall"Symbol 83 MovieClip {Levels.Level_1} Frame 1Symbol 78 MovieClip
"miniBall"Symbol 88 MovieClip {Levels.Level_0} Frame 1Symbol 78 MovieClip
"shoesRight"Symbol 88 MovieClip {Levels.Level_0} Frame 1Symbol 85 MovieClip {_-0h}
"telescope"Symbol 96 MovieClip {Levels.Level_7} Frame 1Symbol 90 MovieClip
"shoes"Symbol 96 MovieClip {Levels.Level_7} Frame 1Symbol 92 MovieClip
"shoesRight"Symbol 96 MovieClip {Levels.Level_7} Frame 1Symbol 85 MovieClip {_-0h}
"ball"Symbol 96 MovieClip {Levels.Level_7} Frame 1Symbol 94 MovieClip
"ball4"Symbol 100 MovieClip {Levels.Level_5} Frame 1Symbol 94 MovieClip
"ball3"Symbol 100 MovieClip {Levels.Level_5} Frame 1Symbol 94 MovieClip
"fish"Symbol 100 MovieClip {Levels.Level_5} Frame 1Symbol 98 MovieClip
"ambrella"Symbol 100 MovieClip {Levels.Level_5} Frame 1Symbol 72 MovieClip
"ball1"Symbol 100 MovieClip {Levels.Level_5} Frame 1Symbol 94 MovieClip
"ball2"Symbol 100 MovieClip {Levels.Level_5} Frame 1Symbol 94 MovieClip
"golfClub"Symbol 106 MovieClip {Levels.Level_4} Frame 1Symbol 102 MovieClip
"box"Symbol 106 MovieClip {Levels.Level_4} Frame 1Symbol 104 MovieClip
"ball"Symbol 106 MovieClip {Levels.Level_4} Frame 1Symbol 94 MovieClip
"miniBall"Symbol 106 MovieClip {Levels.Level_4} Frame 1Symbol 78 MovieClip
"miniBox"Symbol 106 MovieClip {Levels.Level_4} Frame 1Symbol 76 MovieClip
"shoes"Symbol 106 MovieClip {Levels.Level_4} Frame 1Symbol 92 MovieClip
"jug"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 108 MovieClip
"bead"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 110 MovieClip {_-80}
"bead2"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 110 MovieClip {_-80}
"bead3"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 110 MovieClip {_-80}
"bead4"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 110 MovieClip {_-80}
"bead5"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 110 MovieClip {_-80}
"vase"Symbol 115 MovieClip {Levels.Level_2} Frame 1Symbol 114 MovieClip
"tv"Symbol 121 MovieClip {Levels.Level_3} Frame 1Symbol 117 MovieClip
"controlTV"Symbol 121 MovieClip {Levels.Level_3} Frame 1Symbol 119 MovieClip
"box"Symbol 123 MovieClip {Levels.Level_10} Frame 1Symbol 104 MovieClip
"ball2"Symbol 123 MovieClip {Levels.Level_10} Frame 1Symbol 94 MovieClip
"ball1"Symbol 123 MovieClip {Levels.Level_10} Frame 1Symbol 94 MovieClip
"track"Symbol 123 MovieClip {Levels.Level_10} Frame 1Symbol 74 MovieClip
"monitor"Symbol 127 MovieClip {Levels.Level_8} Frame 1Symbol 125 MovieClip
"fish"Symbol 131 MovieClip {Levels.Level_9} Frame 1Symbol 129 MovieClip
"monitor"Symbol 131 MovieClip {Levels.Level_9} Frame 1Symbol 125 MovieClip
"ball2"Symbol 131 MovieClip {Levels.Level_9} Frame 1Symbol 94 MovieClip
"ball1"Symbol 131 MovieClip {Levels.Level_9} Frame 1Symbol 94 MovieClip
"bucket"Symbol 139 MovieClip {Levels.Level_6} Frame 1Symbol 133 MovieClip
"clothes"Symbol 139 MovieClip {Levels.Level_6} Frame 1Symbol 137 MovieClip
"ball1"Symbol 139 MovieClip {Levels.Level_6} Frame 1Symbol 94 MovieClip
"_-2C"Symbol 152 MovieClip {_-5e} Frame 1Symbol 11 MovieClip
"gamezheroBtn"Symbol 153 MovieClip {Pause} Frame 1Symbol 47 MovieClip {_-8l}
"playBtn"Symbol 153 MovieClip {Pause} Frame 1Symbol 152 MovieClip {_-5e}
"txt"Symbol 248 MovieClip {_-C} Frame 1Symbol 247 EditableText
"_-7E"Symbol 251 MovieClip {with} Frame 2Symbol 146 MovieClip {_-6n}
"musicBtn"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 1Symbol 65 MovieClip {movie_cs3_fla.Symbol2_26}
"s1"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 1Symbol 67 MovieClip {movie_cs3_fla.show_28}
"s2"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 2Symbol 67 MovieClip {movie_cs3_fla.show_28}
"s3"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 3Symbol 67 MovieClip {movie_cs3_fla.show_28}

Special Tags

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

Labels

"mainMenu"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 1
"game"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 2
"score"Symbol 252 MovieClip {movie_cs3_fla.all_1} Frame 3




http://swfchan.com/24/117356/info.shtml
Created: 7/3 -2019 22:31:55 Last modified: 7/3 -2019 22:31:55 Server time: 19/05 -2024 00:17:25