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

swfchan turned sixteen years old yesterday! (5may2024)

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

inca-blocks.swf

This is the info page for
Flash #127265

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


Text
<p align="center"><font face="Arial" size="18" color="#ffff00" letterSpacing="0.000000" kerning="0">TOP SCORE EXAMPLE BUTTON</font></p>

<p align="center"><font face="Arial" size="18" color="#ffff00" letterSpacing="0.000000" kerning="0">MORE GAMES EXAMPLE BUTTON</font></p>

Select Language

SCORE

TOP

SHARED

LEVELS

PLAY

MORE GAMES

SEND

FRIENDS

TO

LEVEL

EDITOR

VIDEO HELP

PUT THIS GAME

ON YOUR BLOG or SITE

CLICK HERE

INSERTA ESTE
JUEGO EN TU SITIO
WEB O BLOG

ВСТАВИТЬ ИГРУ
НА СВОЙ САЙТ
ИЛИ БЛОГ

COLOCAR O JOGO
NO SEU SITE
OU BLOG

PLACER CE JEU
POUR VOTRE
WEB-SITE OU BLOG

SPIEL ZU IHRER
WEBSEITE ODER BLOG
BEREITSTELLEN

ВСТАВИТИ ГРУ
НА ВЛАСНИЙ
САЙТ AБО БЛОГ

ZAINSTALOWAĆ
TEN PROGRAM NA
PAŃSTWA STRONĘ
INTERNETOWĄ
LUB BLOG

INSTALLARE
QUESTO GIOCO SUL
SUO SITO OPPURE
IL BLOG

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

v1.4.5

<p align="center"><font face="Lithos Pro Regular" size="28" color="#33ff00" letterSpacing="-4.000000" kerning="0">A</font></p>

0

score:

MENU

SELECT  LEVEL

CONGRATULATE

GAME OVER

00:00:00

WORLD RELEASE

PLAY GAME

JUGAR

ИГРАТЬ

JOGAR

JOUER LE JEU

SPIEL SPIELEN

ГРАТИ

GRAC W GRE

GIOCARE

GOAL

Move Blocks

P/Esc - PAUSE AND SETTINGS

SHIFT

POWER UP

3 max

SPACE

GRAVITATION

Hide Blocks

H

<p align="center"><font face="Lithos Pro Regular" size="18" color="#ffffff" letterSpacing="-2.000000" kerning="0">999/999</font></p>

Level Name Level Name Level

Author:

bahus

10.10.2009

10.10.2009

Played:

Date:

PLAY

RECENT

BEST

AUTHOR

sort  by:

SHARED LEVELS

PAUSE

Publish

Back

Puzzle  Title

Name

Email

<p align="right"><font face="Arial" size="14" color="#66ff00" letterSpacing="0.000000" kerning="0"> After testing please press &quot;Publish&quot; to allow other people play level.</font></p>

<p align="center"><font face="SF Fedora" size="30" color="#999999" letterSpacing="0.000000" kerning="0"><b>RATE THIS LEVEL</b></font></p>

Close

Load Puzzle

Paste puzzle Code For Load:

Copy To Clipboard

Copy Puzzle Code:

Add Block

Save Puzzle

Test And Publish

Clear

ActionScript [AS3]

Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var  :b2Vec2; public var radius:Number; public function b2CircleDef(){  = 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. ); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } public function  ():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } public function ():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function (_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } public function 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.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var  :Array; public var :Array; private var :b2Vec2; public var :b2OBB; public var :Array; public var :b2Vec2; public var  :int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local2:b2PolygonDef; var _local3:int; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number;  = new b2Vec2();  = new b2OBB();  = new Array(b2Settings.b2_maxPolygonVertices);  = new Array(b2Settings.b2_maxPolygonVertices);  = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; _local2 = (_arg1 as b2PolygonDef);  = _local2.vertexCount; _local4 = _local3; _local5 = _local3; _local3 = 0; while (_local3 <  ) {  [_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 <  ) { _local4 = _local3; _local5 = (((_local3 + 1) <  )) ? (_local3 + 1) : 0; _local6 = ( [_local5].x -  [_local4].x); _local7 = ( [_local5].y -  [_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); [_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; };  = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(,  ,  ); _local3 = 0; while (_local3 <  ) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : ( - 1); _local5 = _local3; _local9 = [_local4].x; _local10 = [_local4].y; _local11 = [_local5].x; _local12 = [_local5].y; _local13 = ( [_local3].x - .x); _local14 = ( [_local3].y - .y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); [_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + .x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + .y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 <  ) { _local3 =  [_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = [_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public function GetCoreVertices():Array{ return (); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 <  ) { _local11 =  [_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = [_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = [_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } public function ():b2Vec2{ return (); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 <  ) { _local10 =  [_local9]; _local11 = (((_local9 + 1) <  )) ?  [int((_local9 + 1))] :  [0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 = [0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _local10 = 1; while (_local10 <  ) { _local4 = [_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = [_local8]; .x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); .y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (); } public function GetVertexCount():int{ return ( ); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } public function GetVertices():Array{ return ( ); } public function ():Array{ return (); } public function GetOBB():b2OBB{ return (); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, [0])); } public function  (_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, )); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; while (_local3 <  ) { _local2 = [_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 = .R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = .R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); _local6 = _local5; _local4 = .extents; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = .center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local5:Array; var _local6:Number; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var  :b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var  :Boolean; public var  :uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null;   = b2Pair.b2_nullProxy;  = _arg1..Copy();   = _arg1.; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function  ():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function  ():Number{ return (m_restitution); } public function  ():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return ( .Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if (  == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy( ); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){   = _arg1.CreateProxy(_local3, this); } else {   = b2Pair.b2_nullProxy; }; } public function  (_arg1:b2FilterData):void{  = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if (  == b2Pair.b2_nullProxy){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy( , _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function  ():Boolean{ return ( ); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (  != b2Pair.b2_nullProxy){ _arg1.DestroyProxy( );   = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function  ():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){   = _arg1.CreateProxy(_local3, this); } else {   = b2Pair.b2_nullProxy; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var :Boolean;// = false public var density:Number;// = 0 public var type:int; public var restitution:Number;// = 0 public var userData;// = null public var :b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0;  = false;  = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (upperBound.x - lowerBound.x); _local2 = (upperBound.y - lowerBound.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var proxyId:uint; public var stabbingCount:uint; public var value:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = proxyId; _local4 = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.Collision
Section 11
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_bounds:Array; public var :uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var :int; public var m_pairManager:b2PairManager; public var :uint; public var  :Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local4:Number; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies));  = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) {  [_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; _local4 = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null;  = 0;  = 1;  = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:b2Proxy; _local4 = new Array(); _local5 = new Array();  (_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7]; (_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); (_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); _local10 = 0; _local11 = 0; while ((((_local11 < )) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[ [_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; };  = 0; (); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function (_arg1:int):b2Proxy{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function ():void{ var _local1:uint; if ( == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; };  = 1; } else { ++; }; } private function (_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:b2Proxy; _local8 = BinarySearch(_arg5, _arg6, _arg3); _local9 = BinarySearch(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){  (_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){  (_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function (_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function  (_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3.lowerBound.x; _local5 = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); _local6 = _arg3.upperBound.x; _local7 = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; _local5 = ; _local4 = m_proxyPool[_local5];  = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; _local6 = (2 * m_proxyCount); _local7 = new Array(); _local8 = new Array();  (_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; (_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; _local10 = 0; while (_local10 < ) { m_pairManager.AddBufferedPair(_local5,  [_local10]); _local10++; }; m_pairManager.Commit();  = 0; (); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:b2Proxy; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; _local4 = m_proxyPool[_arg1]; _local5 = (2 * m_proxyCount); _local6 = 0; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; ([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 < ) { m_pairManager.RemoveBufferedPair(_arg1,  [_local7]); _local7++; }; m_pairManager.Commit();  = 0; (); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext();  = _arg1; m_proxyCount--; } public function  (_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function  (_arg1:uint):void{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if (_local2.timeStamp < ){ _local2.timeStamp = ; _local2.overlapCount = 1; } else { _local2.overlapCount = 2;  [] = _arg1; ++; }; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local12:uint; var _local13:b2Proxy; var _local14:b2BoundValues; var _local15:b2BoundValues; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; _local12 = (2 * m_proxyCount); _local13 = m_proxyPool[_arg1]; _local14 = new b2BoundValues();  (_local14.lowerValues, _local14.upperValues, _arg2); _local15 = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if ( (_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if ( (_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if ( (_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if ( (_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1. ; _local7 = _arg1. ; _local8 = _arg1.; _local9 = _arg4. ; _local10 = _arg4. ; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2.lowerBound; _local4 = _arg1.upperBound; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:ClipVertex; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2. ; _local8 = _arg2.; _local9 = _arg5. ; _local10 = _arg5. ; _local11 = _arg5.; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id..referenceEdge = _arg4; _local20.id..incidentEdge = _local21; _local20.id..incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id..referenceEdge = _arg4; _local20.id..incidentEdge = _local22; _local20.id..incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; _local21 = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13. ; _local23 = _local13. ; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new ClipVertex(), new ClipVertex()]; _local33 = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.() : _local28.Copy(); _local35 = 0; _local36 = 0; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id..flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2. ; _local7 = _arg2.; _local9 = _arg5.R; _local8 = _arg4.; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); _local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2ManifoldPoint; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; _local19 = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2. ; _local22 = _arg2. ; _local23 = _arg2.; _local24 = 0; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = b2_nullFeature; _local6.id..referenceEdge = 0; _local6.id..flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = 0; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id..referenceEdge = 0; _local6.id..flip = 0; } } }//package Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var _key:uint; public var :Features; public function b2ContactID(){  = new Features(); super(); . = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID; _local1 = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; . = (_key & 0xFF); . = (((_key & 0xFF00) >> 8) & 0xFF); . = (((_key & 0xFF0000) >> 16) & 0xFF); . = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var friction:Number; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; _local8 = s_p1s; _local9 = s_p2s; _local10 = s_points; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; _local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:b2Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local10 = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int; var _local8:int; _local7 = _arg3.m_type; _local8 = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function b2Manifold(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Box2D.Collision
Section 20
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 21
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function b2Pair(){ userData = null; super(); } public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var  :Array; public var  :b2PairCallback; public var m_pairs:Array; public var  :int; public var m_hashTable:Array; public var m_broadPhase:b2BroadPhase; public var  :uint; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; };  = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) {  [_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0;   = 0; } private function  (_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint; _local5 = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function  (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return ( (_arg1, _arg2, _local3)); } private function  ():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local3:int; var _local4:Array; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; _local3 = 0; _local4 = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 <  ) { _local1 =  [_local2]; _local5 =  (_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){  .PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 =  [_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData =  .PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 =  [_local2];  (_local1.proxyId1, _local1.proxyId2); _local2++; };   = 0; if (b2BroadPhase.s_validate){  (); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 =  (_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 =  [ ]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2;  ++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){  (); }; } private function  (_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local4:uint; var _local5:uint; var _local6:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local5 = m_hashTable[_local4]; _local6 = null; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next =  ; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0;   = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1;  = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 =  (_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 =  [ ]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2;  ++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){  (); }; } private function  (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:b2Pair; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local4 =  (_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 =  ; _local4 = m_pairs[_local5];   = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function  ():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Box2D.Collision
Section 24
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var lowerBounds:Array; public var upperBounds:Array; public var userData;// = null public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local7) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = s_p1; _local18 = s_p2; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 28
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 29
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var  :int; public var :int; public var :int; public var :int; public var :b2ContactID; public function get referenceEdge():int{ return ( ); } public function set incidentVertex(_arg1:int):void{  = _arg1; ._key = ((._key & 4278255615) | (( << 16) & 0xFF0000)); } public function get flip():int{ return (); } public function get incidentEdge():int{ return (); } public function set referenceEdge(_arg1:int):void{  = _arg1; ._key = ((._key & 4294967040) | ( & 0xFF)); } public function set flip(_arg1:int):void{  = _arg1; ._key = ((._key & 0xFFFFFF) | (( << 24) & 4278190080)); } public function get incidentVertex():int{ return (); } public function set incidentEdge(_arg1:int):void{  = _arg1; ._key = ((._key & 4294902015) | (( << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function (_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; _local3 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function  (_arg1:Number):b2Vec2{ var _local2:Number; _local2 = Length(); return (new b2Vec2((Math.cos(_arg1) * _local2), (Math.sin(_arg1) * _local2))); } public function  (_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function ():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function getAngle(_arg1:b2Vec2=null):Number{ if (_arg1 == null){ return (Math.atan2((0 - y), (0 - x))); }; return (Math.atan2((_arg1.y - y), (_arg1.x - x))); } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function  (_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function  (_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function  (_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function  (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function  (_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function toString():String{ return ((((("b2Vector (x:" + x) + ",y:") + y) + ")")); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var  :uint;// = 0 private var  :uint;// = 0 private var :uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){  = 0;  = 0;  = 0; super();  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function get color():uint{ return ((( | ( << 8)) | ( << 16))); } public function set r(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxProxies:int = 0x0200; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_maxPairs:int = 4096; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2CircleContact extends b2Contact { private var  :Array; private var  :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint;  = [new b2Manifold()];  = new b2Manifold(); super(_arg1, _arg2); m_manifold =  [0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:b2ManifoldPoint; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body;  .Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if ( .pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 =  .points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if (((( .pointCount > 0)) && (_arg1))){ _local4 =  .points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV( .normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1. ()) || (_arg2. ()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function  ():b2Shape{ return (m_shape1); } public function  ():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function  ():b2Shape{ return (m_shape2); } public function  ():int{ return (m_manifoldCount); } public function Update(_arg1:b2ContactListener):void{ var _local2:int; var _local3:int; var _local4:b2Body; var _local5:b2Body; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var normal:b2Vec2; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactSolver { public var :int; public var m_constraints:Array; public var m_allocator; public var  :b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number;  = new b2TimeStep(); m_constraints = new Array(); super();  .dt = _arg1.dt;  .inv_dt = _arg1.inv_dt;  .maxIterations = _arg1.maxIterations; m_allocator = _arg4;  = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6];  = ( + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < ) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; _local9 = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; _local5 = 0; while (_local5 < ) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; _local2 = 0; _local5 = 0; while (_local5 < ) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local19:int; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; _local19 = 0; while (_local19 < ) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; _local1 = 0; while (_local1 < ) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:b2ContactListener):void{ } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var  :Array; private var  :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint;  = [new b2Manifold()];  = new b2Manifold(); super(_arg1, _arg2); m_manifold =  [0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local6:b2Body; var _local7:b2Body; var _local8:Array; var _local9:b2ContactPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body;  .Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 <  .pointCount) { if (_local8[_local13] == true){ } else { _local5 =  .points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 <  .pointCount) { if (_local8[_local2]){ } else { _local5 =  .points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV( .normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2PolygonContact extends b2Contact { private var  :Array; private var  :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{  = new b2Manifold();  = [new b2Manifold()]; super(_arg1, _arg2); m_manifold =  [0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body;  .Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 <  .pointCount) { if (_local9[_local13] == true){ } else { _local4 =  .points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 <  .pointCount) { if (_local9[_local8]){ } else { _local4 =  .points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV( .normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_mass:Number; public var  :b2Vec2; public var m_impulse:Number; public var  :Number; public var  :Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var  :Number; public var m_gamma:Number; public var  :Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2);   = _arg1.length;  = _arg1.frequencyHz;  = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0;   = 0; m_inv_dt = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2(); _local1.SetV( ); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; if ( > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 -  ); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12);  .Set(_local9, _local10); _local14 = (_local13 *  .x); _local15 = (_local13 *  .y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3;  .x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6);  .y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); _local10 = Math.sqrt((( .x *  .x) + ( .y *  .y))); if (_local10 > b2Settings.b2_linearSlop){  .Multiply((1 / _local10)); } else {  .SetZero(); }; _local11 = ((_local6 *  .y) - (_local7 *  .x)); _local12 = ((_local8 *  .y) - (_local9 *  .x)); _local13 = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if ( > 0){ _local14 = (_local10 -  ); _local15 = ((2 * Math.PI) *  ); _local16 = (((2 * m_mass) *  ) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17))));   = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse *  .x); _local19 = (m_impulse *  .y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; _local10 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); _local14 = (( .x * (_local12 - _local10)) + ( .y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 +  ) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 *  .x); _local17 = (_local15 *  .y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_force:Number; public var m_mass:Number; public var  :b2PrismaticJoint; public var  :b2PrismaticJoint; public var  :b2Body; public var  :b2Body; public var m_constant:Number; public var  :b2RevoluteJoint; public var  :b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var  :b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();   = new b2Jacobian(); super(_arg1); _local2 = _arg1..m_type; _local3 = _arg1..m_type;   = null;   = null;   = null;   = null;   = _arg1..m_body1; m_body1 = _arg1..m_body2; if (_local2 == b2Joint.e_revoluteJoint){   = (_arg1. as b2RevoluteJoint); m_groundAnchor1.SetV( .m_localAnchor1); m_localAnchor1.SetV( .m_localAnchor2); _local4 =  .GetJointAngle(); } else {   = (_arg1. as b2PrismaticJoint); m_groundAnchor1.SetV( .m_localAnchor1); m_localAnchor1.SetV( .m_localAnchor2); _local4 =  .GetJointTranslation(); };   = _arg1..m_body1; m_body2 = _arg1..m_body2; if (_local3 == b2Joint.e_revoluteJoint){   = (_arg1. as b2RevoluteJoint); m_groundAnchor2.SetV( .m_localAnchor1); m_localAnchor2.SetV( .m_localAnchor2); _local5 =  .GetJointAngle(); } else {   = (_arg1. as b2PrismaticJoint); m_groundAnchor2.SetV( .m_localAnchor1); m_localAnchor2.SetV( .m_localAnchor2); _local5 =  .GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2((m_force *  .linear2.x), (m_force *  .linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = m_body2; if ( ){ _local4 =  .GetJointAngle(); } else { _local4 =  .GetJointTranslation(); }; if ( ){ _local5 =  .GetJointAngle(); } else { _local5 =  .GetJointTranslation(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) *  .linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) *  .linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) *  .angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) *  .linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) *  .linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) *  .angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; _local2 =  ; _local3 =  ; _local4 = m_body1; _local5 = m_body2; _local14 = 0;  .SetZero(); if ( ){  .angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 =  .m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6));  .linear1.Set(-(_local6), -(_local7));  .angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if ( ){  .angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 =  .m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6));  .linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7));  .angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) *  .linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) *  .linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) *  .angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) *  .linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) *  .linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) *  .angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force *  .angular2) - ((_local2 * (m_force *  .linear2.y)) - (_local3 * (m_force *  .linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 =  .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local5 = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) *  .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) *  .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) *  .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) *  .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) *  .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) *  .angular2)); } } }//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var :b2Joint; public var :b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint;  = null;  = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetType():int{ return (m_type); } public function  ():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function  ():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:b2Body; public var body2:b2Body; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { public var  :Number; public var m_mass:b2Mat22; public var  :b2Vec2; public var m_impulse:b2Vec2; public var  :b2Vec2; private var  :b2Mat22; private var  :b2Mat22; private var  :b2Mat22; public var m_gamma:Number; public var  :b2Vec2; public var  :Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number;   = new b2Mat22();   = new b2Mat22();   = new b2Mat22();   = new b2Vec2();   = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22();   = new b2Vec2(); super(_arg1);  .SetV(_arg1.target); _local2 = ( .x - m_body2.m_xf.position.x); _local3 = ( .y - m_body2.m_xf.position.y); _local4 = m_body2.m_xf.R;  .x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y));  .y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y));   = _arg1.; m_impulse.SetZero(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8));   = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return ( ); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint( )); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = ( .x - _local2.m_sweep.localCenter.x); _local5 = ( .y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI;  .col1.x = _local7;  .col2.x = 0;  .col1.y = 0;  .col2.y = _local7;  .col1.x = ((_local8 * _local5) * _local5);  .col2.x = ((-(_local8) * _local4) * _local5);  .col1.y = ((-(_local8) * _local4) * _local5);  .col2.y = ((_local8 * _local4) * _local4);  .SetM( );  .AddM( );  .col1.x = ( .col1.x + m_gamma);  .col2.y = ( .col2.y + m_gamma);  .Invert(m_mass);  .x = ((_local2.m_sweep.c.x + _local4) -  .x);  .y = ((_local2.m_sweep.c.y + _local5) -  .y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); _local9 = (_arg1.dt * m_impulse.x); _local10 = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetReactionTorque():Number{ return (0); } public function  (_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); };   = _arg1; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = ( .x - _local2.m_sweep.localCenter.x); _local7 = ( .y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; _local8 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((  * _arg1.inv_dt) *  .x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((  * _arg1.inv_dt) *  .y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); _local10 = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 >  ){ m_impulse.Multiply((  / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.dt * _local10); _local16 = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var :Number; public var target:b2Vec2; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint;  = 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  :Number; public var  :Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var  :b2Vec2; public var m_motorMass:Number; public var  :Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var  :Number; public var m_limitState:int; public var  :Number; public var  :Number; public var  :b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var  :b2Jacobian; public var m_enableMotor:Boolean; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2();  = new b2Vec2();  = new b2Jacobian();   = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1. );  .x = -(m_localXAxis1.y);  .y = m_localXAxis1.x;   = _arg1.referenceAngle;  .SetZero();   = 0; m_force = 0;   = 0; m_torque = 0;  .SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0;   = _arg1.;   = _arg1.;   = _arg1. ; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return ( ); } public function GetLowerLimit():Number{ return ( ); } public function GetJointTranslation():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1.GetWorldVector(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{   = _arg1;   = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x *  .x) + (_local1.col2.x *  .y))); _local5 = (m_force * ((_local1.col1.y *  .x) + (_local1.col2.y *  .y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3.m_invMass; _local6 = _local4.m_invMass; _local7 = _local3.m_invI; _local8 = _local4.m_invI; _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local21 = ((_local9.col1.x *  .x) + (_local9.col2.x *  .y)); _local22 = ((_local9.col1.y *  .x) + (_local9.col2.y *  .y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-( ) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) *  .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) *  .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) *  .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) *  .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) *  .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) *  .angular2)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) -  ); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-( ) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local28 = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 -  ); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 -  ); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) *  .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) *  .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) *  .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) *  .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) *  .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) *  .angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1.GetWorldVector(m_localXAxis1); _local16 = _local1.m_linearVelocity; _local17 = _local2.m_linearVelocity; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x *  .x) + (_local4.col2.x *  .y)); _local15 = ((_local4.col1.y *  .x) + (_local4.col2.y *  .y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y);  .linear1.x = -(_local14);  .linear1.y = -(_local15);  .linear2.x = _local14;  .linear2.y = _local15;  .angular1 = -(((_local16 * _local15) - (_local17 * _local14)));  .angular2 = ((_local8 * _local15) - (_local9 * _local14));   = (((_local10 + ((_local12 *  .angular1) *  .angular1)) + _local11) + ((_local13 *  .angular2) *  .angular2));   = (1 /  );   = (_local12 + _local13); if (  > Number.MIN_VALUE){   = (1 /  ); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y));  .linear1.x = -(_local18);  .linear1.y = -(_local19);  .linear2.x = _local18;  .linear2.y = _local19;  .angular1 = -(((_local16 * _local19) - (_local17 * _local18)));  .angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 *  .angular1) *  .angular1)) + _local11) + ((_local13 *  .angular2) *  .angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((  -  )) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <=  ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >=  ){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force *  .linear1.x) + ((m_motorForce + m_limitForce) *  .linear1.x))); _local24 = (_arg1.dt * ((m_force *  .linear1.y) + ((m_motorForce + m_limitForce) *  .linear1.y))); _local25 = (_arg1.dt * ((m_force *  .linear2.x) + ((m_motorForce + m_limitForce) *  .linear2.x))); _local26 = (_arg1.dt * ((m_force *  .linear2.y) + ((m_motorForce + m_limitForce) *  .linear2.y))); _local27 = (_arg1.dt * (((m_force *  .angular1) - m_torque) + ((m_motorForce + m_limitForce) *  .angular1))); _local28 = (_arg1.dt * (((m_force *  .angular2) + m_torque) + ((m_motorForce + m_limitForce) *  .angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } public function  ():Number{ return (m_motorForce); } public function  (_arg1:Number):void{   = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_invMass; _local5 = _local3.m_invMass; _local6 = _local2.m_invI; _local7 = _local3.m_invI; _local9 =  .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local10 = ((-(_arg1.inv_dt) *  ) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) *  .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) *  .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) *  .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) *  .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) *  .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) *  .angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1.inv_dt) *  ) * _local12); m_torque = (m_torque + _local13); _local14 = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = ( .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -( ),  ); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) *  .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) *  .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) *  .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) *  .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) *  .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) *  .angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 =  .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) *  .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) *  .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) *  .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) *  .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) *  .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) *  .angular2)); }; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var  :b2Vec2; public var referenceAngle:Number; public var  :Number; public var motorSpeed:Number; public var :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var :Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2();  = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint;  .Set(1, 0); referenceAngle = 0; enableLimit = false;  = 0;  = 0; enableMotor = false;  = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3);  = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var :b2Body; public var :Number; public var :Number; public var :Number; public var :int; public var :int; public var  :Number; public var m_force:Number; public var  :Number; public var m_constant:Number; public var  :int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var :Number; public var :Number; public var :Number; public var :Number; public var :b2Vec2; public var :b2Vec2; public var :Number; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2();  = new b2Vec2(); super(_arg1);  = m_body1.m_world.; m_groundAnchor1.x = (_arg1..x - .m_xf.position.x); m_groundAnchor1.y = (_arg1..y - .m_xf.position.y); m_groundAnchor2.x = (_arg1. .x - .m_xf.position.x); m_groundAnchor2.y = (_arg1. .y - .m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1. + (m_ratio * _arg1.));  = b2Math.b2Min(_arg1., (m_constant - (m_ratio * b2_minPulleyLength)));  = b2Math.b2Min(_arg1., ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0;  = 0;  = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = .Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (.m_xf.position.x + m_groundAnchor1.x); _local5 = (.m_xf.position.y + m_groundAnchor1.y); _local6 = (.m_xf.position.x + m_groundAnchor2.x); _local7 = (.m_xf.position.y + m_groundAnchor2.y); _local23 = 0; if ( == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); .Set((_local12 - _local4), (_local13 - _local5)); .Set((_local14 - _local6), (_local15 - _local7)); _local16 = .Length(); _local17 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .Multiply((1 / _local16)); } else { .SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ .Multiply((1 / _local17)); } else { .SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local14 = ((-(m_ratio) * _local19) * .x); _local15 = ((-(m_ratio) * _local19) * .y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if ( == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); .Set((_local12 - _local4), (_local13 - _local5)); _local16 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local16)); .y = (.y * (1 / _local16)); } else { .SetZero(); }; _local18 = ( - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 =  ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if ( == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); .Set((_local14 - _local6), (_local15 - _local7)); _local17 = .Length(); if (_local17 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local17)); .y = (.y * (1 / _local17)); } else { .SetZero(); }; _local18 = ( - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 =  ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local14 = (-(_local19) * .x); _local15 = (-(_local19) * .y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (.m_xf.position.x + m_groundAnchor1.x); _local15 = (.m_xf.position.y + m_groundAnchor1.y); _local16 = (.m_xf.position.x + m_groundAnchor2.x); _local17 = (.m_xf.position.y + m_groundAnchor2.y); .Set((_local10 - _local14), (_local11 - _local15)); .Set((_local12 - _local16), (_local13 - _local17)); _local18 = .Length(); _local19 = .Length(); if (_local18 > b2Settings.b2_linearSlop){ .Multiply((1 / _local18)); } else { .SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ .Multiply((1 / _local19)); } else { .SetZero(); }; _local20 = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){  = e_inactiveLimit; m_force = 0; } else {  = e_atUpperLimit;  = 0; }; if (_local18 < ){  = e_inactiveLimit;  = 0; } else {  = e_atUpperLimit;  = 0; }; if (_local19 < ){  = e_inactiveLimit;  = 0; } else {  = e_atUpperLimit;  = 0; }; _local21 = ((_local5 * .y) - (_local6 * .x)); _local22 = ((_local8 * .y) - (_local9 * .x));  = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21));  = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22));  = ( + ((m_ratio * m_ratio) * ));  = (1 / );  = (1 / );  = (1 / ); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - )) * .x); _local24 = ((_arg1.dt * (-(m_force) - )) * .y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0;  = 0;  = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } public function  ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (.m_xf.position.x + m_groundAnchor2.x); _local3 = (.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((.x * _local10) + (.y * _local11))) - (m_ratio * ((.x * _local12) + (.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * .x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((.x * _local10) + (.y * _local11))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if ( == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((.x * _local12) + (.y * _local13))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local16 = ((-(_arg1.dt) * _local19) * .x); _local17 = ((-(_arg1.dt) * _local19) * .y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function  ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (.m_xf.position.x + m_groundAnchor1.x); _local3 = (.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var :Number; public var :Number; public var :Number; public var :Number; public var ratio:Number; public var :b2Vec2; public var  :b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public function b2PulleyJointDef(){  = new b2Vec2();  = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; .Set(-1, 1);  .Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0);  = 0;  = 0;  = 0;  = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2; .SetV(_arg3);  .SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y);  = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y);  = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = ( + (ratio * ));  = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength));  = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_motorForce:Number; public var  :b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var  :b2Mat22; private var  :b2Mat22; private var  :b2Mat22; private var  :b2Mat22; public var  :b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var  :Number; public var  :Number; public var  :Number; public var  :Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){   = new b2Mat22();   = new b2Mat22();   = new b2Mat22();   = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2();   = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2);  = _arg1.referenceAngle;  .Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0;  = _arg1. ;   = _arg1. ;  = _arg1. ; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return ( ); } public function GetLowerLimit():Number{ return ( ); } public function SetLimits(_arg1:Number, _arg2:Number):void{  = _arg1;   = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return ( ); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3.m_invMass; _local19 = _local4.m_invMass; _local20 = _local3.m_invI; _local21 = _local4.m_invI;  .col1.x = (_local18 + _local19);  .col2.x = 0;  .col1.y = 0;  .col2.y = (_local18 + _local19);  .col1.x = ((_local20 * _local8) * _local8);  .col2.x = ((-(_local20) * _local7) * _local8);  .col1.y = ((-(_local20) * _local7) * _local8);  .col2.y = ((_local20 * _local7) * _local7);  .col1.x = ((_local21 * _local11) * _local11);  .col2.x = ((-(_local21) * _local10) * _local11);  .col1.y = ((-(_local21) * _local10) * _local11);  .col2.y = ((_local21 * _local10) * _local10);  .SetM( );  .AddM( );  .AddM( );  .Solve(tImpulse, -(_local16), -(_local17)); _local22 = tImpulse.x; _local23 = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local24 = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) -  ); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 -  ); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 -  ); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function  (_arg1:Number):void{  = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) -  )); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI;  .col1.x = (_local10 + _local11);  .col2.x = 0;  .col1.y = 0;  .col2.y = (_local10 + _local11);  .col1.x = ((_local12 * _local7) * _local7);  .col2.x = ((-(_local12) * _local6) * _local7);  .col1.y = ((-(_local12) * _local6) * _local7);  .col2.y = ((_local12 * _local6) * _local6);  .col1.x = ((_local13 * _local9) * _local9);  .col2.x = ((-(_local13) * _local8) * _local9);  .col1.y = ((-(_local13) * _local8) * _local9);  .col2.y = ((_local13 * _local8) * _local8);  .SetM( );  .AddM( );  .AddM( );  .Invert( ); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) -  ); if (b2Math.b2Abs((  -  )) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <=  ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >=  ){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) *  .x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) *  .y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 *  .y) - (_local7 *  .x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) *  .x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) *  .y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 *  .y) - (_local9 *  .x)) + m_motorForce) + m_limitForce))); } else {  .SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function  ():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local11 = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1.inv_dt) * (( .col1.x * _local11) + ( .col2.x * _local12))); _local14 = (-(_arg1.inv_dt) * (( .col1.y * _local11) + ( .col2.y * _local12)));  .x = ( .x + _local13);  .y = ( .y + _local14); _local15 = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -( ),  ); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var  :Number; public var  :Number; public var motorSpeed:Number; public var  :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0;  = 0;  = 0;  = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 64
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_type:int; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_invI:Number; public var m_linearVelocity:b2Vec2; public var m_sleepTime:Number; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var :Number; public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ var _local3:b2Mat22; var _local4:b2Vec2; m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1. ){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1. ){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1..center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.; m_angularDamping = _arg1. ; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0;  = 0; m_invI = 0; m_mass = _arg1..mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){  = _arg1..I; }; if ( > 0){ m_invI = (1 / ); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function  (_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function  (_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function  ():b2Vec2{ return (m_sweep.localCenter); } public function  (_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function  ():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function  ():Boolean{ return ((m_type == e_dynamicType)); } public function  ():b2Vec2{ return (m_linearVelocity); } public function SynchronizeTransform():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function  ():Number{ return (); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0;  = 0; m_invI = 0; _local2 = 0; _local3 = 0; _local4 = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y));  = ( + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if (((( > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){  = ( - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / ); } else {  = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; _local7 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function PutToSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetJointList():b2JointEdge{ return (m_jointList); } public function  (_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 ( ()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); _local4 = m_xf.R; _local5 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); _local6 = false; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Boolean=true):void{ if (((IsSleeping()) && (_arg3))){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function SynchronizeShapes():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = s_xf1; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); _local5 = true; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetNext():b2Body{ return (m_next); } public function  ():Number{ return (m_mass); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function  ():Number{ return (m_angularVelocity); } public function  (_arg1:Number):void{ m_angularVelocity = _arg1; } public function  (_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; m_invMass = 0;  = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){  = _arg1.I; }; if ( > 0){ m_invI = (1 / ); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; _local5 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge; _local2 = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function DestroyShape(_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); _local2 = m_shapeList; _local3 = null; _local4 = false; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function  (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function ():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2BodyDef { public var isSleeping:Boolean; public var position:b2Vec2; public var  :Boolean; public var  :Boolean; public var userData; public var  :Number; public var :Boolean; public var angle:Number; public var :Number; public var :b2MassData; public function b2BodyDef(){  = new b2MassData(); position = new b2Vec2(); super(); .center.SetZero(); .mass = 0; .I = 0; userData = null; position.Set(0, 0); angle = 0;  = 0;  = 0;  = true; isSleeping = false;  = false;  = false; } } }//package Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 67
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData; var _local4:b2FilterData; var _local5:Boolean; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 68
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var  :Boolean; public var  :b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){  = new b2NullContact(); super(); m_world = null;  = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return ( ); }; if (_local3.m_body == _local4.m_body){ return ( ); }; if (_local6.IsConnected(_local5)){ return ( ); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return ( ); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return ( ); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 ==  ){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:b2Body; var _local6:b2Body; var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape1; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; _local5 = _local2.m_body; _local6 = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local1:b2Contact; var _local2:b2Body; var _local3:b2Body; _local1 = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; import flash.display.*; import Box2D.Dynamics.Contacts.*; public class b2DebugDraw { public var :Number;// = 1 public var m_fillAlpha:Number;// = 1 public var :Number;// = 1 public var m_lineThickness:Number;// = 1 public var m_drawFlags:uint; public var m_sprite:Sprite; public var m_drawScale:Number;// = 1 public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_jointBit:uint = 2; public function b2DebugDraw(){ m_drawScale = 1; m_lineThickness = 1;  = 1; m_fillAlpha = 1;  = 1; super(); m_drawFlags = 0; } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, ); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, ); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, ); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + ( * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, ); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + ( * _arg1.R.col2.y)) * m_drawScale)); } public function  (_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, ); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function (_arg1:uint):void{ m_drawFlags = _arg1; } public function (_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, ); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function GetFlags():uint{ return (m_drawFlags); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, ); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } } }//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var  :Array; public var  :b2ContactListener; public var m_positionIterationCount:int; public var  :int; public var m_bodies:Array; public var :int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super();  = _arg1; m_contactCapacity = _arg2;  = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4;  = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; };  = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) {  [_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++;  [_local2] = _arg1; } public function (_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if ( == null){ return; }; _local4 = 0; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key;  .Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:b2ContactSolver; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; _local8 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 =  [_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; }; (_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:b2Body; var _local6:Boolean; _local3 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; (_local3.m_constraints); } } }//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var :Number; public var :b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var :Boolean; public var m_broadPhase:b2BroadPhase; public var  :b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var :b2Body; public var m_contactCount:int; public var  :b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var :b2Body; public var ; public var m_jointList:b2Joint; public var :b2Vec2; public var :b2ContactManager; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:b2BodyDef;  = new b2ContactManager(); super();  = null;  = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null;  = null;  = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true;  = _arg3;  = _arg2; m_lock = false;  = 0; .m_world = this; m_broadPhase = new b2BroadPhase(_arg1, ); _local4 = new b2BodyDef();  = CreateBody(_local4); } public function (_arg1:b2Joint):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint:  .DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2();  .DrawSegment(_local12, _local8, _local10);  .DrawSegment(_local13, _local9, _local10);  .DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint:  .DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != ){  .DrawSegment(_local6, _local8, _local10); };  .DrawSegment(_local8, _local9, _local10); if (_local3 != ){  .DrawSegment(_local7, _local9, _local10); }; }; } public function  (_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function SetDebugDraw(_arg1:b2DebugDraw):void{  = _arg1; } public function  (_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function  ():int{ return (m_broadPhase.m_proxyCount); } public function ():void{ var _local1:uint; var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if ( == null){ return; };  .m_sprite.graphics.clear(); _local1 =  .GetFlags(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = ; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ (_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ (_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { (_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { (_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y));  .DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y);  .DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y);  .DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = ; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; };  .DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = ; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter();  .DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if ( ){  .SayGoodbyeJoint(_local4.joint); }; (_local4.joint); }; _local3 = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if ( ){  .SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == ){  = _arg1.m_next; }; m_bodyCount--; } public function (_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function ():b2Body{ return (); } public function (_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; _local5 = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1;  .DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){  .DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; };  .DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; };  .DrawPolygon(_local14, _local12, _local5); }; break; }; } public function ():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Island; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; _local3 = new b2Island(m_bodyCount, m_contactCount, m_jointCount, , m_contactListener); _local2 = ; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = m_bodyCount; _local7 = new Array(_local6); _local8 = ; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, , m_positionCorrection, ); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = ; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!(( == null))))){ .Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function (_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function  (_arg1:b2Vec2):void{  = _arg1; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local8:b2Island; var _local9:int; var _local10:Array; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; _local8 = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, , m_contactListener); _local9 = m_bodyCount; _local10 = new Array(_local9); _local2 = ; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!(( == null))))){ .Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function Validate():void{ m_broadPhase.Validate(); } public function ():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function ():b2Body{ return (); } public function (_arg1:Boolean):void{ m_warmStarting = _arg1; } public function (_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function (_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:b2Body; var _local4:b2Shape; _local2 = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function (_arg1:b2Joint):void{ var _local2:Boolean; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2Shape; _local2 = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; _local3 = _arg1.m_body1; _local4 = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function (_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ var _local2:b2Body; if (m_lock == true){ return (null); }; _local2 = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = ; if (){ .m_prev = _local2; };  = _local2; m_bodyCount++; return (_local2); } public function  (_arg1:b2BoundaryListener):void{  = _arg1; } public function (_arg1:b2DestructionListener):void{  = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ var _local3:b2TimeStep; m_lock = true; _local3 = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = ( * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; .Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; ();  = _local3.inv_dt; m_lock = false; } public function ():int{ return (m_bodyCount); } public function ():int{ return (m_jointCount); } } }//package Box2D.Dynamics
Section 75
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local2:uint; var _local3:String; _local2 = 0; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function isInArray(_arg1:String, _arg2:Array):Boolean{ var _local3:uint; var _local4:uint; _local3 = _arg2.length; _local4 = 0; while (_local4 < _local3) { if (_arg2[_local4] == _arg1){ return (true); }; _local4++; }; return (false); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } } }//package caurina.transitions
Section 76
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); }; --_arg1; return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : ((_arg3 * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==0) ? _arg2 : ((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2)); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5, _arg6)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5, _arg6)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; --_arg1; return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2)); }; --_arg1; return ((((_arg3 / 2) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } } }//package caurina.transitions
Section 77
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var modifierParameters:Array; public var valueComplete:Number; public var modifierFunction:Function; public var hasModifier:Boolean; public var valueStart:Number; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Function, _arg4:Array){ valueStart = _arg1; valueComplete = _arg2; hasModifier = Boolean(_arg3); modifierFunction = _arg3; modifierParameters = _arg4; } public function toString():String{ var _local1:String; _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj; _local1 = new PropertyInfoObj(valueStart, valueComplete, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 78
//SpecialPropertiesDefault (caurina.transitions.SpecialPropertiesDefault) package caurina.transitions { import flash.media.*; import flash.filters.*; import flash.geom.*; public class SpecialPropertiesDefault { public function SpecialPropertiesDefault(){ trace("SpecialProperties is a static class and should not be instantiated."); } public static function _sound_volume_get(_arg1:Object):Number{ return (_arg1.soundTransform.volume); } public static function _color_splitter(_arg1):Array{ var _local2:Array; _local2 = new Array(); if (_arg1 == null){ _local2.push({name:"_color_ra", value:1}); _local2.push({name:"_color_rb", value:0}); _local2.push({name:"_color_ga", value:1}); _local2.push({name:"_color_gb", value:0}); _local2.push({name:"_color_ba", value:1}); _local2.push({name:"_color_bb", value:0}); } else { _local2.push({name:"_color_ra", value:0}); _local2.push({name:"_color_rb", value:AuxFunctions.numberToR(_arg1)}); _local2.push({name:"_color_ga", value:0}); _local2.push({name:"_color_gb", value:AuxFunctions.numberToG(_arg1)}); _local2.push({name:"_color_ba", value:0}); _local2.push({name:"_color_bb", value:AuxFunctions.numberToB(_arg1)}); }; return (_local2); } public static function frame_get(_arg1:Object):Number{ return (_arg1.currentFrame); } public static function _sound_pan_get(_arg1:Object):Number{ return (_arg1.soundTransform.pan); } public static function _color_property_get(_arg1:Object, _arg2:Array):Number{ return (_arg1.transform.colorTransform[_arg2[0]]); } public static function _sound_volume_set(_arg1:Object, _arg2:Number):void{ var _local3:SoundTransform; _local3 = _arg1.soundTransform; _local3.volume = _arg2; _arg1.soundTransform = _local3; } public static function _autoAlpha_get(_arg1:Object):Number{ return (_arg1.alpha); } public static function _filter_splitter(_arg1:BitmapFilter):Array{ var _local2:Array; _local2 = new Array(); if ((_arg1 is BlurFilter)){ _local2.push({name:"_blur_blurX", value:BlurFilter(_arg1).blurX}); _local2.push({name:"_blur_blurY", value:BlurFilter(_arg1).blurY}); _local2.push({name:"_blur_quality", value:BlurFilter(_arg1).quality}); } else { trace("??"); }; return (_local2); } public static function init():void{ Tweener.registerSpecialProperty("_frame", frame_get, frame_set); Tweener.registerSpecialProperty("_sound_volume", _sound_volume_get, _sound_volume_set); Tweener.registerSpecialProperty("_sound_pan", _sound_pan_get, _sound_pan_set); Tweener.registerSpecialProperty("_color_ra", _color_property_get, _color_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_ga", _color_property_get, _color_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_ba", _color_property_get, _color_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_aa", _color_property_get, _color_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]); Tweener.registerSpecialProperty("_autoAlpha", _autoAlpha_get, _autoAlpha_set); Tweener.registerSpecialPropertySplitter("_color", _color_splitter); Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter); Tweener.registerSpecialProperty("_blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]); Tweener.registerSpecialProperty("_blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]); Tweener.registerSpecialProperty("_blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]); Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter); Tweener.registerSpecialPropertyModifier("_bezier", _bezier_modifier, _bezier_get); } public static function _sound_pan_set(_arg1:Object, _arg2:Number):void{ var _local3:SoundTransform; _local3 = _arg1.soundTransform; _local3.pan = _arg2; _arg1.soundTransform = _local3; } public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{ var _local4:ColorTransform; _local4 = _arg1.transform.colorTransform; _local4[_arg3[0]] = _arg2; _arg1.transform.colorTransform = _local4; } public static function _filter_property_get(_arg1:Object, _arg2:Array):Number{ var _local3:Array; var _local4:uint; var _local5:Object; var _local6:String; var _local7:Object; _local3 = _arg1.filters; _local5 = _arg2[0]; _local6 = _arg2[1]; _local4 = 0; while (_local4 < _local3.length) { if ((((_local3[_local4] is BlurFilter)) && ((_local5 == BlurFilter)))){ return (_local3[_local4][_local6]); }; _local4++; }; switch (_local5){ case BlurFilter: _local7 = {blurX:0, blurY:0, quality:NaN}; break; }; return (_local7[_local6]); } public static function _bezier_get(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{ var _local5:uint; var _local6:Number; var _local7:Number; var _local8:Number; if (_arg4.length == 1){ return ((_arg1 + (_arg3 * (((2 * (1 - _arg3)) * (_arg4[0] - _arg1)) + (_arg3 * (_arg2 - _arg1)))))); }; _local5 = Math.floor((_arg3 * _arg4.length)); _local6 = ((_arg3 - (_local5 * (1 / _arg4.length))) * _arg4.length); if (_local5 == 0){ _local7 = _arg1; _local8 = ((_arg4[0] + _arg4[1]) / 2); } else { if (_local5 == (_arg4.length - 1)){ _local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2); _local8 = _arg2; } else { _local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2); _local8 = ((_arg4[_local5] + _arg4[(_local5 + 1)]) / 2); }; }; return ((_local7 + (_local6 * (((2 * (1 - _local6)) * (_arg4[_local5] - _local7)) + (_local6 * (_local8 - _local7)))))); } public static function frame_set(_arg1:Object, _arg2:Number):void{ _arg1.gotoAndStop(Math.round(_arg2)); } public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{ var _local4:Array; var _local5:uint; var _local6:Object; var _local7:String; var _local8:BitmapFilter; _local4 = _arg1.filters; _local6 = _arg3[0]; _local7 = _arg3[1]; _local5 = 0; while (_local5 < _local4.length) { if ((((_local4[_local5] is BlurFilter)) && ((_local6 == BlurFilter)))){ _local4[_local5][_local7] = _arg2; _arg1.filters = _local4; return; }; _local5++; }; if (_local4 == null){ _local4 = new Array(); }; switch (_local6){ case BlurFilter: _local8 = new BlurFilter(0, 0); break; }; _local8[_local7] = _arg2; _local4.push(_local8); _arg1.filters = _local4; } public static function _autoAlpha_set(_arg1:Object, _arg2:Number):void{ _arg1.alpha = _arg2; _arg1.visible = (_arg2 > 0); } public static function _colorTransform_splitter(_arg1):Array{ var _local2:Array; _local2 = new Array(); if (_arg1 == null){ _local2.push({name:"_color_ra", value:1}); _local2.push({name:"_color_rb", value:0}); _local2.push({name:"_color_ga", value:1}); _local2.push({name:"_color_gb", value:0}); _local2.push({name:"_color_ba", value:1}); _local2.push({name:"_color_bb", value:0}); } else { if (_arg1.ra != undefined){ _local2.push({name:"_color_ra", value:_arg1.ra}); }; if (_arg1.rb != undefined){ _local2.push({name:"_color_rb", value:_arg1.rb}); }; if (_arg1.ga != undefined){ _local2.push({name:"_color_ba", value:_arg1.ba}); }; if (_arg1.gb != undefined){ _local2.push({name:"_color_bb", value:_arg1.bb}); }; if (_arg1.ba != undefined){ _local2.push({name:"_color_ga", value:_arg1.ga}); }; if (_arg1.bb != undefined){ _local2.push({name:"_color_gb", value:_arg1.gb}); }; if (_arg1.aa != undefined){ _local2.push({name:"_color_aa", value:_arg1.aa}); }; if (_arg1.ab != undefined){ _local2.push({name:"_color_ab", value:_arg1.ab}); }; }; return (_local2); } public static function _bezier_modifier(_arg1):Array{ var _local2:Array; var _local3:Array; var _local4:uint; var _local5:String; var _local6:Object; _local2 = []; if ((_arg1 is Array)){ _local3 = _arg1; } else { _local3 = [_arg1]; }; _local6 = {}; _local4 = 0; while (_local4 < _local3.length) { for (_local5 in _local3[_local4]) { if (_local6[_local5] == undefined){ _local6[_local5] = []; }; _local6[_local5].push(_local3[_local4][_local5]); }; _local4++; }; for (_local5 in _local6) { _local2.push({name:_local5, parameters:_local6[_local5]}); }; return (_local2); } } }//package caurina.transitions
Section 79
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var getValue:Function; public var setValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 80
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 81
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function){ splitValues = _arg1; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 82
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ var _local4:SpecialPropertyModifier; if (!_inited){ init(); }; _local4 = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null):void{ var _local5:SpecialProperty; if (!_inited){ init(); }; _local5 = new SpecialProperty(_arg2, _arg3, _arg4); _specialPropertyList[_arg1] = _local5; } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local4:Array; var _local5:Number; var _local6:Number; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:Function; var _local11:TweenListObj; var _local12:Number; var _local13:String; if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){ return (false); }; _local4 = new Array(); if ((arguments[0] is Array)){ _local5 = 0; while (_local5 < arguments[0].length) { _local4.push(arguments[0][_local5]); _local5++; }; } else { _local5 = 0; while (_local5 < (arguments.length - 1)) { _local4.push(arguments[_local5]); _local5++; }; }; _local7 = arguments[(arguments.length - 1)]; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local8 = (isNaN(_local7.time)) ? 0 : _local7.time; _local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay; if (typeof(_local7.transition) == "string"){ _local13 = _local7.transition.toLowerCase(); _local10 = _transitionList[_local13]; } else { _local10 = _local7.transition; }; if (!Boolean(_local10)){ _local10 = _transitionList["easeoutexpo"]; }; _local5 = 0; while (_local5 < _local4.length) { _local11 = new TweenListObj(_local4[_local5], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), (_local7.useFrames == true), _local10); _local11.properties = null; _local11.onStart = _local7.onStart; _local11.onUpdate = _local7.onUpdate; _local11.onComplete = _local7.onComplete; _local11.onOverwrite = _local7.onOverwrite; _local11.onStartParams = _local7.onStartParams; _local11.onUpdateParams = _local7.onUpdateParams; _local11.onCompleteParams = _local7.onCompleteParams; _local11.onOverwriteParams = _local7.onOverwriteParams; _local11. = true; _local11.count = _local7.count; _local11.waitFrames = _local7.waitFrames; _tweenList.push(_local11); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local12 = (_tweenList.length - 1); updateTweenByIndex(_local12); removeTweenByIndex(_local12); }; _local5++; }; return (true); } public static function init(_arg1=null):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); SpecialPropertiesDefault.init(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function pauseAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local3:TweenListObj; var _local4:TweenListObj; var _local5:uint; var _local6:String; var _local7:Boolean; _local3 = _tweenList[_arg1]; _local4 = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; _local2.timeStart = (_local2.timeStart + (_currentTime - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_currentTime - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function debug_getList():String{ var _local1:String; var _local2:uint; var _local3:uint; _local1 = ""; _local2 = 0; while (_local2 < _tweenList.length) { _local1 = (_local1 + (("[" + _local2) + "] ::\n")); _local3 = 0; while (_local3 < _tweenList[_local2].properties.length) { _local1 = (_local1 + ((((" " + _tweenList[_local2].properties[_local3].name) + " -> ") + _tweenList[_local2].properties[_local3].valueComplete) + "\n")); _local3++; }; _local2++; }; return (_local1); } public static function getVersion():String{ return ("AS3 1.25.53"); } public static function onEnterFrame(_arg1:Event):void{ var _local2:Boolean; updateTime(); _local2 = false; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var isOver:Boolean; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var tScope:Object; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; isOver = false; if (_currentTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening. ){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening. + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(_currentTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening. >= tTweening.skipUpdates))); if (_currentTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening. ){ if (Boolean(tTweening.onStart)){ try { tTweening.onStart.apply(tScope, tTweening.onStartParams); } catch(e:Error) { }; }; for (pName in tTweening.properties) { pv = getPropertyValue(tScope, pName); tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening. = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (_currentTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (_currentTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; setPropertyValue(tScope, pName, nv); }; tTweening. = 0; if (Boolean(tTweening.onUpdate)){ try { tTweening.onUpdate.apply(tScope, tTweening.onUpdateParams); } catch(e:Error) { }; }; } else { tTweening.++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ try { tTweening.onComplete.apply(tScope, tTweening.onCompleteParams); } catch(e:Error) { }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ _local2 = 0; while (_local2 < _tweenList.length) { _tweenList[_local2].timeStart = (_currentTime - (((_currentTime - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_currentTime - (((_currentTime - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_currentTime - (((_currentTime - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); updateTime(); } public static function removeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local4:Array; var _local5:Number; var _local6:Number; var _local7:String; var _local8:String; var _local9:Object; var _local10:Number; var _local11:Number; var _local12:Array; var _local13:Object; var _local14:Object; var _local15:Function; var _local16:Object; var _local17:TweenListObj; var _local18:Number; var _local19:Array; var _local20:Array; var _local21:String; if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){ return (false); }; _local4 = new Array(); if ((arguments[0] is Array)){ _local5 = 0; while (_local5 < arguments[0].length) { _local4.push(arguments[0][_local5]); _local5++; }; } else { _local5 = 0; while (_local5 < (arguments.length - 1)) { _local4.push(arguments[_local5]); _local5++; }; }; _local9 = arguments[(arguments.length - 1)]; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local10 = (isNaN(_local9.time)) ? 0 : _local9.time; _local11 = (isNaN(_local9.delay)) ? 0 : _local9.delay; _local12 = new Array(); _local13 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true}; _local14 = new Object(); for (_local7 in _local9) { if (!_local13[_local7]){ if (_specialPropertySplitterList[_local7]){ _local19 = _specialPropertySplitterList[_local7].splitValues(_local9[_local7]); _local5 = 0; while (_local5 < _local19.length) { _local12[_local19[_local5].name] = {valueStart:undefined, valueComplete:_local19[_local5].value}; _local5++; }; } else { if (_specialPropertyModifierList[_local7] != undefined){ _local20 = _specialPropertyModifierList[_local7].modifyValues(_local9[_local7]); _local5 = 0; while (_local5 < _local20.length) { _local14[_local20[_local5].name] = {modifierParameters:_local20[_local5].parameters, modifierFunction:_specialPropertyModifierList[_local7].getValue}; _local5++; }; } else { _local12[_local7] = {valueStart:undefined, valueComplete:_local9[_local7]}; }; }; }; }; for (_local7 in _local14) { if (_local12[_local7] != undefined){ _local12[_local7].modifierParameters = _local14[_local7].modifierParameters; _local12[_local7].modifierFunction = _local14[_local7].modifierFunction; }; }; if (typeof(_local9.transition) == "string"){ _local21 = _local9.transition.toLowerCase(); _local15 = _transitionList[_local21]; } else { _local15 = _local9.transition; }; if (!Boolean(_local15)){ _local15 = _transitionList["easeoutexpo"]; }; _local5 = 0; while (_local5 < _local4.length) { _local16 = new Object(); for (_local7 in _local12) { _local16[_local7] = new PropertyInfoObj(_local12[_local7].valueStart, _local12[_local7].valueComplete, _local12[_local7].modifierFunction, _local12[_local7].modifierParameters); }; _local17 = new TweenListObj(_local4[_local5], (_currentTime + ((_local11 * 1000) / _timeScale)), (_currentTime + (((_local11 * 1000) + (_local10 * 1000)) / _timeScale)), (_local9.useFrames == true), _local15); _local17.properties = _local16; _local17.onStart = _local9.onStart; _local17.onUpdate = _local9.onUpdate; _local17.onComplete = _local9.onComplete; _local17.onOverwrite = _local9.onOverwrite; _local17.onStartParams = _local9.onStartParams; _local17.onUpdateParams = _local9.onUpdateParams; _local17.onCompleteParams = _local9.onCompleteParams; _local17.onOverwriteParams = _local9.onOverwriteParams; _local17.rounded = _local9.rounded; _local17.skipUpdates = _local9.skipUpdates; removeTweensByTime(_local17.scope, _local17.properties, _local17.timeStart, _local17.timeComplete); _tweenList.push(_local17); if ((((_local10 == 0)) && ((_local11 == 0)))){ _local18 = (_tweenList.length - 1); updateTweenByIndex(_local18); removeTweenByIndex(_local18); }; _local5++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local4:Boolean; var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; _local4 = false; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; var _local4:Array; _local4 = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (_tweenList[_local2].scope == _arg1){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } private static function setPropertyValue(_arg1:Object, _arg2:String, _arg3:Number):void{ if (_specialPropertyList[_arg2] != undefined){ if (Boolean(_specialPropertyList[_arg2].parameters)){ _specialPropertyList[_arg2].setValue(_arg1, _arg3, _specialPropertyList[_arg2].parameters); } else { _specialPropertyList[_arg2].setValue(_arg1, _arg3); }; } else { _arg1[_arg2] = _arg3; }; } private static function getPropertyValue(_arg1:Object, _arg2:String):Number{ if (_specialPropertyList[_arg2] != undefined){ if (Boolean(_specialPropertyList[_arg2].parameters)){ return (_specialPropertyList[_arg2].getValue(_arg1, _specialPropertyList[_arg2].parameters)); }; return (_specialPropertyList[_arg2].getValue(_arg1)); } else { }; return (!NULL!); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; _local2 = 0; while (_local2 < _tweenList.length) { if (_tweenList[_local2].scope == _arg1){ return (true); }; _local2++; }; return (false); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; var _local3:Number; _local3 = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (_tweenList[_local2].scope == _arg1){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = _currentTime; _local2.isPaused = true; return (true); } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removed:Boolean; var removedLocally:Boolean; var i:uint; var tl:uint; var pName:String; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; removed = false; tl = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ try { _tweenList[i].onOverwrite.apply(_tweenList[i].scope, _tweenList[i].onOverwriteParams); } catch(e:Error) { }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function):void{ var _local3:SpecialPropertySplitter; if (!_inited){ init(); }; _local3 = new SpecialPropertySplitter(_arg2); _specialPropertySplitterList[_arg1] = _local3; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 83
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var onUpdate:Function; public var useFrames:Boolean; public var  :Boolean; public var onOverwriteParams:Array; public var timeStart:Number; public var count:Number; public var :Object; public var timeComplete:Number; public var onStartParams:Array; public var rounded:Boolean; public var :Number; public var onUpdateParams:Array; public var onComplete:Function; public var properties:Object; public var onStart:Function; public var skipUpdates:Number; public var scope:Object; public var  :Boolean; public var timePaused:Number; public var transition:Function; public var onCompleteParams:Array; public var :Number; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5;  = new Object(); properties = new Object(); isPaused = false; timePaused = undefined;  = false;  = 0;  = 0; skipUpdates = 0;  = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local2:TweenListObj; var _local3:String; _local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2. = ; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2. =  ; _local2.count = count; _local2. = ; _local2.waitFrames = waitFrames; _local2. =  ; return (_local2); } public function toString():String{ var _local1:String; var _local2:uint; _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); _local2 = 0; while (_local2 < properties.length) { if (_local2 > 0){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local2].name)); _local1 = (_local1 + (",valueStart:" + properties[_local2].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local2].valueComplete)); _local1 = (_local1 + "]"); _local2++; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (){ _local1 = (_local1 + (", updatesSkipped:" + String())); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if ( ){ _local1 = (_local1 + (", isCaller:" + String( ))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (){ _local1 = (_local1 + (", timesCalled:" + String())); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if ( ){ _local1 = (_local1 + (", hasStarted:" + String( ))); }; _local1 = (_local1 + "]\n"); return (_local1); } } }//package caurina.transitions
Section 84
//gameFormRelease (classes.gamearea.gameFormRelease) package classes.gamearea { import flash.display.*; import flash.text.*; public dynamic class gameFormRelease extends MovieClip { public var gamezheroBtn:SimpleButton; public var t_time2:TextField; public var t_time:TextField; public var playGametext_mc:playGameText; } }//package classes.gamearea
Section 85
//FlashChecker (classes.gamezhero.FlashChecker) package classes.gamezhero { import flash.display.*; public dynamic class FlashChecker extends MovieClip { public var b:SimpleButton; public function FlashChecker(){ addFrameScript(0, frame1, 1, ); } function frame1(){ stop(); } function (){ stop(); } } }//package classes.gamezhero
Section 86
//Base64 (com.base64.Base64) package com.base64 { import flash.utils.*; public class Base64 { public static const version:String = "1.0.0"; private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; public function Base64(){ throw (new Error("Base64 class is static container only")); } public static function encode(_arg1:String):String{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.writeUTFBytes(_arg1); return (encodeByteArray(_local2)); } public static function encodeByteArray(_arg1:ByteArray):String{ var _local2:String; var _local3:Array; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; _local2 = ""; _local4 = new Array(4); _arg1.position = 0; while (_arg1.bytesAvailable > 0) { _local3 = new Array(); _local5 = 0; while ((((_local5 < 3)) && ((_arg1.bytesAvailable > 0)))) { _local3[_local5] = _arg1.readUnsignedByte(); _local5++; }; _local4[0] = ((_local3[0] & 252) >> 2); _local4[1] = (((_local3[0] & 3) << 4) | (_local3[1] >> 4)); _local4[2] = (((_local3[1] & 15) << 2) | (_local3[2] >> 6)); _local4[3] = (_local3[2] & 63); _local6 = _local3.length; while (_local6 < 3) { _local4[(_local6 + 1)] = 64; _local6++; }; _local7 = 0; while (_local7 < _local4.length) { _local2 = (_local2 + BASE64_CHARS.charAt(_local4[_local7])); _local7++; }; }; return (_local2); } public static function decode(_arg1:String):String{ var _local2:ByteArray; _local2 = decodeToByteArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function decodeToByteArray(_arg1:String):ByteArray{ var _local2:ByteArray; var _local3:Array; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; _local2 = new ByteArray(); _local3 = new Array(4); _local4 = new Array(3); _local5 = 0; while (_local5 < _arg1.length) { _local6 = 0; while ((((_local6 < 4)) && (((_local5 + _local6) < _arg1.length)))) { _local3[_local6] = BASE64_CHARS.indexOf(_arg1.charAt((_local5 + _local6))); _local6++; }; _local4[0] = ((_local3[0] << 2) + ((_local3[1] & 48) >> 4)); _local4[1] = (((_local3[1] & 15) << 4) + ((_local3[2] & 60) >> 2)); _local4[2] = (((_local3[2] & 3) << 6) + _local3[3]); _local7 = 0; while (_local7 < _local4.length) { if (_local3[(_local7 + 1)] == 64){ break; }; _local2.writeByte(_local4[_local7]); _local7++; }; _local5 = (_local5 + 4); }; _local2.position = 0; return (_local2); } } }//package com.base64
Section 87
//MoreGames (com.gamezhero.as3.btn.MoreGames) package com.gamezhero.as3.btn { import flash.events.*; import flash.display.*; import com.gamezhero.as3.*; public class MoreGames extends SimpleButton { public function MoreGames(){ this.addEventListener(MouseEvent.CLICK, ); } private function (_arg1:MouseEvent=null):void{ GamezheroGlobal.getURL((((("http://www.gamezhero.com/?utm_campaign=" + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=more_free_games"), "_blank"); } } }//package com.gamezhero.as3.btn
Section 88
//TopScore (com.gamezhero.as3.btn.TopScore) package com.gamezhero.as3.btn { import flash.events.*; import flash.display.*; import com.gamezhero.as3.*; public class TopScore extends SimpleButton { public function TopScore(){ this.addEventListener(MouseEvent.CLICK, ); } private function (_arg1:MouseEvent=null):void{ GamezheroGlobal.getURL((((((("http://www.gamezhero.com/topscore/" + GamezheroGlobal.gameName) + "/top100.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=top_score"), "_blank"); } } }//package com.gamezhero.as3.btn
Section 89
//ZorroLogo (com.gamezhero.as3.btn.ZorroLogo) package com.gamezhero.as3.btn { import flash.events.*; import flash.display.*; import com.gamezhero.as3.*; public class ZorroLogo extends SimpleButton { public function ZorroLogo(){ this.addEventListener(MouseEvent.CLICK, ); } private function (_arg1:MouseEvent=null):void{ GamezheroGlobal.getURL((((("http://www.gamezhero.com/?utm_campaign=" + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=zorro_logo"), "_blank"); } } }//package com.gamezhero.as3.btn
Section 90
//MD5 (com.gamezhero.as3.crypto.MD5) package com.gamezhero.as3.crypto { import com.gamezhero.as3.utils.*; public class MD5 { private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private function (_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private function (_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } public function hash(_arg1:String):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = (_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package com.gamezhero.as3.crypto
Section 91
//RemotingLevelsEvent (com.gamezhero.as3.remoting.events.RemotingLevelsEvent) package com.gamezhero.as3.remoting.events { import flash.events.*; public class RemotingLevelsEvent extends Event { private var  ; public static const GET_PAGE_LIST:String = "GET_PAGE_LIST"; public static const SET_LEVEL:String = "SET_LEVEL"; public static const ERROR:String = "LEVEL_REMOTIN_ERROR"; public static const SET_LEVEL_RATE:String = "SET_LEVEL_RATE"; public static const GET_LEVEL:String = "GET_LEVEL"; public static const GET_PAGE_AMOUNT:String = "GET_PAGE_AMOUNT"; public function RemotingLevelsEvent(_arg1:String){ super(_arg1); } public function set value(_arg1):void{  = _arg1; } override public function toString():String{ return (formatToString("RemotinLevelsEvent")); } public function get value(){ return ( ); } } }//package com.gamezhero.as3.remoting.events
Section 92
//LevelStructure (com.gamezhero.as3.remoting.structure.LevelStructure) package com.gamezhero.as3.remoting.structure { public class LevelStructure { public var level_author:String; public var level_email:String; public var level_name:String; public var level_value:String; public var level_rate:Number; public function LevelStructure(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number){ level_name = _arg1; level_value = _arg2; level_author = _arg3; level_rate = _arg5; level_email = _arg4; } public function getArray():Array{ var _local1:Array; _local1 = new Array(); _local1["level_name"] = level_name; _local1["level_value"] = level_value; _local1["level_author"] = level_author; _local1["level_rate"] = level_rate; _local1["level_email"] = level_email; return (_local1); } public function toString():String{ return (((((((level_name + " ") + level_author) + " ") + String(level_rate)) + " ") + level_value)); } } }//package com.gamezhero.as3.remoting.structure
Section 93
//RemotingEventDispatcher (com.gamezhero.as3.remoting.RemotingEventDispatcher) package com.gamezhero.as3.remoting { import flash.events.*; public class RemotingEventDispatcher extends EventDispatcher { public function RemotingEventDispatcher(_arg1:IEventDispatcher=null){ super(_arg1); } } }//package com.gamezhero.as3.remoting
Section 94
//RemotingLevelResponder (com.gamezhero.as3.remoting.RemotingLevelResponder) package com.gamezhero.as3.remoting { import flash.net.*; public class RemotingLevelResponder extends Responder { public var :Function; public var name:String;// = null public var  :Function; public function RemotingLevelResponder(_arg1:String, _arg2:Function, _arg3:Function=null){ name = null; name = _arg1;  = _arg2;  = _arg3; super(, ); } private function (_arg1):void{ .call(null, name, _arg1); } private function (_arg1):void{  .call(null, name, _arg1); } } }//package com.gamezhero.as3.remoting
Section 95
//RemotingLevelsGateway (com.gamezhero.as3.remoting.RemotingLevelsGateway) package com.gamezhero.as3.remoting { import flash.events.*; import com.gamezhero.as3.remoting.structure.*; import com.gamezhero.as3.remoting.events.*; import com.gamezhero.as3.crypto.*; import flash.net.*; public class RemotingLevelsGateway { private var  :RemotingService; private var  :String; private var  :RemotingEventDispatcher; public static const SORT_BY_RATE:uint = 2; public static const ERROR:String = "REMOTING_LEVEL_ERROR"; public static const SORT_BY_RATE_DEC:uint = 3; public static const SORT_BY_DATE:uint = 6; public static const SORT_BY_NAME:uint = 0; public static const SORT_BY_NAME_DEC:uint = 1; public static const SORT_BY_DATE_DEC:uint = 7; public static const SORT_BY_AUTHOR:uint = 4; public static const SORT_BY_AUTHOR_DEC:uint = 5; public function RemotingLevelsGateway(_arg1:String=null){ var strServicePath = _arg1; super(); trace(("Init remoting, path = " + strServicePath)); try {   = new RemotingEventDispatcher(); init(strServicePath); } catch(e:Error) { trace("Init remoting error"); }; } public function getPageList(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:RemotingLevelResponder; trace("getPageList", _arg1, _arg2, _arg3, _arg4); _local5 = new RemotingLevelResponder(RemotingLevelsEvent.GET_PAGE_LIST,  ,  );  .call("levels.getPageList", (_local5 as Responder), _arg1, _arg2, _arg3, _arg4); } public function getPagesAmount(_arg1:Number, _arg2:Number):void{ var _local3:RemotingLevelResponder; _local3 = new RemotingLevelResponder(RemotingLevelsEvent.GET_PAGE_AMOUNT,  ,  );  .call("levels.getPagesAmount", (_local3 as Responder), _arg1, _arg2); } public function setLevel(_arg1:Number, _arg2:Number, _arg3:LevelStructure):void{ var _local4:RemotingLevelResponder; var _local5:String; var _local6:Array; _local4 = new RemotingLevelResponder(RemotingLevelsEvent.SET_LEVEL,  ,  ); _local5 = new MD5().hash(((_arg1 + _arg3.level_name) + _arg3.level_value)); _local6 = _arg3.getArray();  .call("levels.setLevel", (_local4 as Responder), _arg1, _arg2, _local6, _local5); } public function removeEventListener(_arg1:String, _arg2:Function):void{  .removeEventListener(_arg1, _arg2); } private function  (_arg1:NetStatusEvent=null):void{ var _local2:RemotingLevelsEvent; _local2 = new RemotingLevelsEvent(RemotingLevelsEvent.ERROR);  .dispatchEvent(_local2); } public function addEventListener(_arg1:String, _arg2:Function):void{  .addEventListener(_arg1, _arg2); } public function getLevel(_arg1:Number, _arg2:String):void{ var _local3:RemotingLevelResponder; _local3 = new RemotingLevelResponder(RemotingLevelsEvent.GET_LEVEL,  ,  );  .call("levels.getLevel", (_local3 as Responder), _arg1, _arg2); } private function init(_arg1:String=null):void{   = _arg1;   = new RemotingService( );  .addEventListener(NetStatusEvent.NET_STATUS,  ); } public function setLevelRate(_arg1:Number, _arg2:String, _arg3:Number):void{ var _local4:RemotingLevelResponder; var _local5:String; _local4 = new RemotingLevelResponder(RemotingLevelsEvent.SET_LEVEL_RATE,  ,  ); _local5 = new MD5().hash(String(((_arg1 + _arg2) + _arg3)));  .call("levels.setLevelRate", (_local4 as Responder), _arg1, _arg2, _arg3, _local5); } private function  (_arg1:String, _arg2:Object):void{ var _local3:RemotingLevelsEvent; _local3 = new RemotingLevelsEvent(RemotingLevelsEvent.ERROR); _local3.value = _arg1;  .dispatchEvent(_local3); } private function  (_arg1:String, _arg2):void{ var _local3:RemotingLevelsEvent; _local3 = new RemotingLevelsEvent(_arg1); _local3.value = _arg2;  .dispatchEvent(_local3); } } }//package com.gamezhero.as3.remoting
Section 96
//RemotingService (com.gamezhero.as3.remoting.RemotingService) package com.gamezhero.as3.remoting { import flash.net.*; public class RemotingService extends NetConnection { public function RemotingService(_arg1:String){ objectEncoding = ObjectEncoding.AMF3; connect(_arg1); } } }//package com.gamezhero.as3.remoting
Section 97
//IntUtil (com.gamezhero.as3.utils.IntUtil) package com.gamezhero.as3.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.gamezhero.as3.utils
Section 98
//URL (com.gamezhero.as3.utils.URL) package com.gamezhero.as3.utils { public class URL { private var  :String; private var  :String; private var  :String; private var  :String; private var :String; private var :String; private var :String; private var :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);  = _local2[0];  = _local2[1];  = _local2[2];  = _local2[3];  = _local2[4];  = _local2[5];  = _local2[6];  = _local2[7]; } public function get port():int{ return (((.length <= 0)) ? undefined : int(.substring(1, .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 ((( ) && (( .length > 0)))){ _local1.raw =  ; _local2 =  .substring(1,  .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 (((.length <= 0)) ? undefined : ); } public function get scheme():String{ return ((( .length <= 0)) ? undefined :  .substring(0, ( .length - 3))); } public function get host():String{ return ((( .length <= 0)) ? undefined :  ); } public function get path():String{ return ((( .length <= 0)) ? undefined :  ); } public function get url():String{ return (((.length <= 0)) ? undefined : ); } public function get userinfo():Object{ var _local1:Object; var _local2:Array; _local1 = {user:undefined, pass:undefined}; if (){ _local2 = .substring(0, (.length - 1)).split(":"); _local1.user = (_local2[0]) ? _local2[0] : _local1.user; _local1.pass = (_local2[1]) ? _local2[1] : _local1.pas; }; return (_local1); } } }//package com.gamezhero.as3.utils
Section 99
//GamePreloader (com.gamezhero.as3.GamePreloader) package com.gamezhero.as3 { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.ui.*; public class GamePreloader extends MovieClip { private var obj:Object; private var  :Dictionary; public var bg:MovieClip; private var  :Number; public var intro:MovieClip; private var :MovieClip; private var :String; private var :String; public static const finish:String = "PRELOAD_COMPLETE"; public function GamePreloader(_arg1:MovieClip, _arg2:Object){ var _local3:String; var _local4:String; var _local5:ContextMenu; var _local6:ContextMenuBuiltInItems; var _local7:String; var _local8:ContextMenuItem;  = new Dictionary(); super(); obj = new Object(); _local3 = GamezheroGlobal.getDomain(_arg1.stage); _local4 = GamezheroGlobal.gameName; obj = _arg2; obj.gamezhero_url = (((("http://www.gamezhero.com/?utm_campaign=" + _local4) + "&utm_source=") + _local3) + "&utm_medium=preloader"); obj.gamezhero_menu = {Free Online Games @ Gamezhero.com:(((("http://www.gamezhero.com/?utm_campaign=" + _local4) + "&utm_source=") + _local3) + "&utm_medium=context_menu"), Send To Friends:(((((("http://www.gamezhero.com/sendtofriends/" + _local4) + "-onlinegames.html?utm_campaign=") + _local4) + "&utm_source=") + _local3) + "&utm_medium=send_to_friends_context_menu"), Put This Game To Your Blog or Site:(((((("http://www.gamezhero.com/freewebsitegames/" + _local4) + "-onlinegames.html?utm_campaign=") + _local4) + "&utm_source=") + _local3) + "&utm_medium=free_web_site_games_context")};  = _arg1; .addChild(this); stage.addEventListener(Event.RESIZE, ); this.addEventListener(Event.ENTER_FRAME, iniPreloader);  = stage.scaleMode;  = stage.align;  = stage.frameRate; (null); _local5 = new ContextMenu(); _local5.hideBuiltInItems(); _local6 = _local5.builtInItems; _local6.quality = true; _local6.print = true; for (_local7 in _arg2.gamezhero_menu) { _local8 = new ContextMenuItem(_local7);  [_local8] = _arg2.gamezhero_menu[_local7]; _local8.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, ); _local5.customItems.push(_local8); }; .loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ); .loaderInfo.addEventListener(Event.COMPLETE, ); this.parent.contextMenu = _local5; this.addEventListener(MouseEvent.MOUSE_DOWN,  ); this.useHandCursor = true; this.buttonMode = true; } public function (_arg1:Event=null):void{ } public function action(_arg1:Event=null):void{ var _local2:Event; stage.scaleMode = ; stage.align = ; stage.frameRate =  ; this.removeEventListener(Event.ENTER_FRAME, iniPreloader); stage.removeEventListener(Event.RESIZE, ); .loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ); .loaderInfo.removeEventListener(Event.COMPLETE, ); _local2 = new Event(finish); this.dispatchEvent(_local2); .removeChild(this); } public function  (_arg1:MouseEvent=null):void{ getURL(obj.gamezhero_url); } public function getURL(_arg1:String):void{ var _local2:URLRequest; _local2 = new URLRequest(_arg1); navigateToURL(_local2, "_blank"); } public function (_arg1:Event):void{ } public function (_arg1:Event):void{ var event = _arg1; try { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = 20; this["bg"].width = Math.round(stage.stageWidth); this["bg"].height = Math.round(stage.stageHeight); this["intro"].x = Math.round((stage.stageWidth / 2)); this["intro"].y = Math.round((stage.stageHeight / 2)); } catch(e:Error) { }; } public function (_arg1:ContextMenuEvent=null):void{ getURL( [_arg1.target]); } public function iniPreloader(_arg1:Event):void{ var _local2:Number; _local2 = (-128 + (132 * (.loaderInfo.bytesLoaded / .loaderInfo.bytesTotal))); this["intro"]["pr"]["begun"].x = (this["intro"]["pr"]["begun"].x - ((this["intro"]["pr"]["begun"].x - _local2) / 5)); if (.loaderInfo.bytesLoaded != .loaderInfo.bytesTotal){ if (this["intro"].currentLabel == "stopFrame"){ this["intro"].stop(); }; } else { if (this["intro"].currentLabel == "stopFrame"){ this["intro"].play(); }; if (this["intro"].currentFrame == this["intro"].totalFrames){ this["intro"].stop(); action(); }; if (obj.debug){ action(); }; }; } } }//package com.gamezhero.as3
Section 100
//GamezheroGlobal (com.gamezhero.as3.GamezheroGlobal) package com.gamezhero.as3 { import flash.display.*; import com.gamezhero.as3.utils.*; import flash.net.*; public class GamezheroGlobal { public static var gameCodeVar:String = "unset"; public static var gameNameVar:String = "unset"; public static var host:String = "error"; 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 getURL(_arg1:String, _arg2:String):void{ var _local3:URLRequest; _local3 = new URLRequest(_arg1); navigateToURL(_local3, _arg2); } public static function set gameName(_arg1:String):void{ gameNameVar = _arg1; } public static function get gameName():String{ return (gameNameVar); } public static function set gameCode(_arg1:String):void{ gameCodeVar = _arg1; } public static function get gameCode():String{ return (gameCodeVar); } } }//package com.gamezhero.as3
Section 101
//SubmitArea (com.gamezhero.as3.SubmitArea) package com.gamezhero.as3 { import flash.events.*; import flash.display.*; import flash.net.*; import flash.text.*; import flash.system.*; public class SubmitArea extends MovieClip { private var  :Number;// = 0 private var  :Loader; private var :Object; private var :LocalConnection; private var score:Number; private var :MovieClip; private var :Number; private var  :String; private var  :Object; public var :String;// = "2.0" private var :Object; private var :LocalConnection; private var :TextField; private var  :MovieClip; private var :LocalConnection; private var :String; private var  :Number;// = 0 private var  :String; private var  :Number;// = 0 private var :MovieClip; private var :LocalConnection; private var :String; private var :Number; private var :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:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object){  = "2.0";  = 0;  = 0;  = 0;  = new LocalConnection();  = new LocalConnection();  = new LocalConnection();  = new LocalConnection();  = new Loader();  = new Loader();  = new Object();  = new Object(); super(); Security.allowDomain("www.gamezhero.com", "gamezhero.com", "files.gamezhero.com", "*.gamezhero.com");  = new Date().getTime();  = ;  = ("_send_gamezhero_skin_" + );  = ("_recive_gamezhero_skin_" + );  = ("_send_gamezhero_engine_" + );  = ("_recive_gamezhero_engine_" + ); iniEvents(); ();  (); (_arg1, _arg2, _arg3, _arg4, _arg5); } private function (_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": .text = "Error Connections 'Recive From Engine'"; break; }; } private function  (_arg1:Event=null){ .text = "Error Loading Engine..."; errorAction(); } public function  ():void{ var _local1:TextFormat;  = new TextField(); .autoSize = TextFieldAutoSize.LEFT; _local1 = new TextFormat(); _local1.color = 0xFFFFFF; _local1.size = 11; _local1.font = "Arial"; .defaultTextFormat = _local1; this.addChild(); .x = 10; .y = 10; } private function iniEvents():void{  .contentLoaderInfo.addEventListener(Event.INIT, );  .contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,  ); .contentLoaderInfo.addEventListener(Event.INIT, ); .contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,  ); .addEventListener(StatusEvent.STATUS, ); .addEventListener(SecurityErrorEvent.SECURITY_ERROR,  ); .addEventListener(StatusEvent.STATUS, ); .addEventListener(SecurityErrorEvent.SECURITY_ERROR, ); .addEventListener(StatusEvent.STATUS, ); .addEventListener(SecurityErrorEvent.SECURITY_ERROR,  ); .addEventListener(StatusEvent.STATUS, ); .addEventListener(SecurityErrorEvent.SECURITY_ERROR, ); } private function  (_arg1:SecurityErrorEvent=null):void{ errorAction(); } private function (_arg1):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{ ();  (); dispatchEvent(new Event(ERROR)); } public function submitAction(_arg1:String=""):void{ ();  (); dispatchEvent(new Event(SUBMITED)); } private function (_arg1:SecurityErrorEvent=null):void{ errorAction(); } private function ():void{  .contentLoaderInfo.removeEventListener(Event.INIT, );  .contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR,  ); .contentLoaderInfo.removeEventListener(Event.INIT, ); .contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR,  ); .removeEventListener(StatusEvent.STATUS, ); .removeEventListener(SecurityErrorEvent.SECURITY_ERROR,  ); .removeEventListener(StatusEvent.STATUS, ); .removeEventListener(SecurityErrorEvent.SECURITY_ERROR, ); .removeEventListener(StatusEvent.STATUS, ); .removeEventListener(SecurityErrorEvent.SECURITY_ERROR,  ); .removeEventListener(StatusEvent.STATUS, ); .removeEventListener(SecurityErrorEvent.SECURITY_ERROR, ); } private function  (_arg1:SecurityErrorEvent=null):void{ errorAction(); } private function  ():void{ var url:String; var request:URLRequest; .text = "Loading Engine..."; url = (([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]) + ); request = new URLRequest(url); try { .load(request); addChild(); } catch(e:Error) { .text = "Error Loading Engine..."; errorAction(); }; } private function  ():void{ var dom:String;  = new Object(); .engineOk = function (){ .send( , "iniEngine", ); .text = "Engine Connections..."; }; .engineError = function (){ .text = "Error Engine..."; }; .submitActionDone = function (_arg1){ (_arg1); submitAction(); }; .engineActivated = function (){ iniSkin(); }; dom = ([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]); .allowDomain(dom); .allowInsecureDomain(dom); .client = ; .connect(); .allowDomain(dom); .allowInsecureDomain(dom); } private function (_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": .text = "Error Connections 'Send To Skin'"; break; }; } private function (_arg1:Event=null){ .text = "Check Skin Connection... "; .send( , "skinIsOk"); } private function (_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": .text = "Error Connections 'Send To Engine'"; break; }; } private function (_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": break; case "error": .text = "Error Connections 'Recive From Skin'"; break; }; } private function iniSkin():void{  .x =  ;  .y =  ; .text = ""; .send( , "iniSkin", ); } private function  (){ var url:String; var request:URLRequest; .text = "Loading Skin..."; url = (([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]) + ); request = new URLRequest(url); try {  .load(request); addChild( ); } catch(e:Error) { .text = "Error Loading Skin..."; errorAction(); }; } private function ():void{ var dom:String;  = new Object();  .skinOk = function (){  (); };  .submitAction = function (_arg1){ .send( , ([115, 101, 110, 100, 83, 99, 111, 114, 101]), _arg1); };  .errorInputActin = function (){ };  .continueAction = function (){ continueAction(); }; dom = ([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]); .allowInsecureDomain(dom); .allowDomain(dom); .client =  ; .connect(); .allowInsecureDomain(dom); .allowDomain(dom); } private function (_arg1:Event=null){ .send( , "engineIsOk"); .text = "Check Engine Connection..."; } private function (_arg1:SecurityErrorEvent=null):void{ errorAction(); } public function continueAction():void{ ();  (); dispatchEvent(new Event(CONTINUE)); } private function (_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object):void{  = _arg1;  .addChild(this);  = _arg2;  = _arg3;  = Math.abs(Math.round(_arg4));  = _arg5; .score =  ; .gameName = GamezheroGlobal.gameName; .gameCode = GamezheroGlobal.gameCode; .domain = GamezheroGlobal.getDomain( .stage);  ();  (); } private function (_arg1):void{ var _local2:URLVariables; var _local3:*; var _local4:URLRequest; _local2 = new URLVariables(); for (_local3 in _arg1.vars) { _local2[_local3] = _arg1.vars[_local3]; }; _local4 = new URLRequest(_arg1.url); _local4.method = URLRequestMethod.POST; _local4.data = _local2; navigateToURL(_local4, "_blank"); } private function  (_arg1:Event=null){ .text = "Error Loading Skin..."; errorAction(); } private function  ():void{ this.removeChild(); this.removeChild( ); this.removeChild();  .removeChild(this); } } }//package com.gamezhero.as3
Section 102
//MD5 (com.gamezhero.crypto.MD5) package com.gamezhero.crypto { import com.gamezhero.utils.*; public class MD5 { private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private function (_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private function (_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } public function hash(_arg1:String):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = (_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = (_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = (_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = (_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = (_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 =  (_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 =  (_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 =  (_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 =  (_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package com.gamezhero.crypto
Section 103
//BlockEvents (com.gamezhero.events.BlockEvents) package com.gamezhero.events { import flash.events.*; public class BlockEvents extends Event { private var ; public static const BLOCK_ACTION_CRACH:String = "block_action_crash"; public static const BLOCK_CHANGE_ACTION:String = "block_change_action"; public static const BLOCK_ACTION_FLY:String = "block_fly"; public static const BLOCK_ACTION_SLEEP:String = "block_slip"; public function BlockEvents(_arg1:String){ super(_arg1); } override public function toString():String{ return (formatToString("Block Event")); } public function get action(){ return (); } public function set action(_arg1):void{  = _arg1; } } }//package com.gamezhero.events
Section 104
//GameAreaEvents (com.gamezhero.events.GameAreaEvents) package com.gamezhero.events { import flash.events.*; public class GameAreaEvents extends Event { private var ; public static const GAME_AREA_MENU:String = "menu"; public static const GAME_AREA_INTRO:String = "intro"; public static const GAME_AREA_WIN_INTRO:String = "win_intro"; public static const GAME_AREA_EDITOR:String = "editor"; public static const GAME_AREA_SELECTOR:String = "selector"; public static const GAME_AREA_CHANGE:String = "game_area_update"; public static const GAME_AREA_GAME:String = "game"; public static const GAME_AREA_PREVIEW:String = "preview"; public static const GAME_AREA_RELEASE:String = "release"; public static const GAME_AREA_SCORE:String = "score"; public static const GAME_AREA_MAP:String = "map"; public static const GAME_AREA_LANGUAGE:String = "language"; public static const GAME_AREA_TEST:String = "test"; private static var game_area_type_old:String = "menu"; private static var game_area_type:String; public function GameAreaEvents(_arg1:String){ super(_arg1); } public function set gameAreaValue(_arg1):void{  = _arg1; } override public function toString():String{ return (formatToString("Game Area Event")); } public function get gameAreaValue(){ return (); } public static function get gameAreaTypeOld(){ return (game_area_type_old); } public static function set gameAreaType(_arg1):void{ game_area_type_old = game_area_type; game_area_type = _arg1; } public static function get gameAreaType(){ return (game_area_type); } } }//package com.gamezhero.events
Section 105
//GameEvents (com.gamezhero.events.GameEvents) package com.gamezhero.events { import flash.events.*; public class GameEvents extends Event { private var ; public static const GAME_OVER:String = "game_over"; public static const GAME_CHANGE_LEVEL:String = "game_change_level"; public static const GAME_MISSION_FAIL:String = "game_mission_fail"; public static const GAME_PAUSE:String = "game_pause"; public static const GAME_PUZZLE_COMPLETE:String = "game_puzzle_complete"; public static const GAME_CHANGE_GRAVITY_START:String = "game_change_gravity_start"; public static const GAME_CHANGE_GRAVITY_ACTION:String = "game_change_gravity_action"; public static const GAME_MISSION_COMPLITE:String = "game_mission_complite"; public static const GAME_CHANGE_SHOW:String = "game_change_show"; public static const GAME_PUZZLE_SLEEP:String = "game_puzzle_sleep"; public static const GAME_CHECK_COMPLETE:String = "game_chech_complete"; public static const GAME_CHANGE_GRAVITY_FINISH:String = "game_change_gravity_finish"; public static const GAME_BLOCK_DELETE:String = "game_block_delete"; public static const GAME_ACTIVATE_IMPULS:String = "game_activate_impuls"; public static const GAME_SLEEP:String = "game_sleep"; public static const GAME_UNSLEEP:String = "game_unsleep"; public static const GAME_BLOCK_CREATE:String = "game_block_create"; public static const GAME_UPDATE:String = "game_update"; public function GameEvents(_arg1:String){ super(_arg1); } override public function toString():String{ return (formatToString("Game Event")); } public function set gameValue(_arg1):void{  = _arg1; } public function get gameValue(){ return (); } } }//package com.gamezhero.events
Section 106
//Block (com.gamezhero.game.Block) package com.gamezhero.game { import Box2D.Common.Math.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; import flash.display.*; import com.gamezhero.events.*; import Box2D.Dynamics.Contacts.*; import flash.filters.*; import flash.geom.*; import com.gamezhero.*; public class Block extends ObjectOfGame implements IGameObject { private var  :Number;// = 1 public var gravity_kof:Number; public var gravity:b2Vec2; private var  :Number;// = 0 private var  :String; public var  :Number; private var  :GravityArrow; private var  :Point; private var  :Array; private var  :Array; private var  :b2Body; public var  :Number;// = 0 private var  :Number;// = 1 private var  :Array; private var  :Object; public var _object_static:Boolean;// = false private var  :b2PulleyJointDef; private var  :Boolean;// = false private var  :Array; public function Block(_arg1:MovieClip, _arg2:Object, _arg3:b2Body){ var _local4:b2BodyDef; var _local5:uint; var _local6:String; var _local7:b2PolygonDef; var _local8:uint; var _local9:Number; var _local10:Number;   = 0; gravity = new b2Vec2(0, 1); gravity_kof = Global._box2d_max_mass_kof;   = new Array();   = new Object();   = false;   = 1;   = 1;   = new Array();   = new Array(); _object_static = false;   = 0;   = new Array(); super(_arg1, _arg2); this.  = _arg3; gravity = new b2Vec2(_arg2["gravity"].x, _arg2["gravity"].y); gravity_kof = gravity.Length(); gravity.Normalize(); if (gravity_kof > Global._box2d_max_mass_kof){ gravity_kof = Global._box2d_max_mass_kof; }; this.mouseChildren = false; this.mouseEnabled = true; this.doubleClickEnabled = true; _local4 = new b2BodyDef(); _local4.position.Set(Global.toWorldX(_object_pos.x), Global.toWorldY(_object_pos.y)); _local4.angle = Global.toRadian(_object_pos.rotation); _body = Global._box2d_world.CreateBody(_local4); while (_local5 < _object_primitives.length) { _local6 = _object_primitives[_local5].type; switch (_local6){ case "poligon": _local7 = new b2PolygonDef(); _local7.vertexCount = _object_primitives[_local5].vertices.length; _local8 = 0; while (_local8 < _object_primitives[_local5].vertices.length) { _local9 = (_object_primitives[_local5].vertices[_local8].x + _object_primitives[_local5].x); _local10 = (_object_primitives[_local5].vertices[_local8].y + _object_primitives[_local5].y); _local7.vertices[_local8].Set(Global.toWorldX(_local9), Global.toWorldY(_local10)); _local8++; }; _local7.density = _object_density; _local7.friction = _object_friction; _local7.restitution = _object_restitution;  .push(_local7);  .push(_body.CreateShape(_local7)); break; }; _local5++; }; _body.SetMassFromShapes(); _body.m_userData = {target:this, type:"block"}; ini(_arg2); setStatic(!(_arg2["active"]));  (); } public function  (_arg1:BlockEvents=null):void{ switch (String(_arg1.action)){ case BlockEvents.BLOCK_ACTION_FLY: break; case BlockEvents.BLOCK_ACTION_CRACH:  = 5; break; };  = _object_action; _object_action = _arg1.action; } public function  (_arg1:GameEvents=null){ var step:*; var matrix:Array; var adjust:ColorMatrixFilter; var event = _arg1; step = 0.02; if (  >  ){ step = -(step); };   = (  + step); if (Math.abs((  -  )) < 0.01){   =  ; }; matrix = new Array(); matrix = matrix.concat([ , 0, 0, 0, 0]); matrix = matrix.concat([0,  , 0, 0, 0]); matrix = matrix.concat([0, 0,  , 0, 0]); matrix = matrix.concat([0, 0, 0, 1, 0]); adjust = new ColorMatrixFilter(matrix); if (  == 1){ stage.removeEventListener(GameEvents.GAME_UPDATE,  ); try { this.filters = []; } catch(e:Error) { }; } else { try { this.filters = [adjust]; } catch(e:Error) { }; }; } private function  (_arg1:MouseEvent=null):void{ if (  == false){ this.  = 2;   = true; stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.addEventListener(GameEvents.GAME_UPDATE,  ); Global.sound_game.playSound(null, "s_complete_level", 0,  ()); }; } public function  (_arg1:String){ var _local2:BlockEvents; if (_arg1 != _object_action){ _local2 = new BlockEvents(BlockEvents.BLOCK_CHANGE_ACTION); _local2.action = _arg1; this.dispatchEvent(_local2); }; } public function  (_arg1:BlockEvents=null):void{ if (!_body.IsSleeping()){ this. ( ); this.changeGameEvent(GameEvents.GAME_UNSLEEP); }; } public function  (_arg1:Event=null):void{ } public function  (_arg1:BlockEvents=null):void{ var _local2:b2Vec2; var _local3:Number; var _local4:b2ContactEdge; var _local5:Boolean; var _local6:uint; updateSkin(true); if (_body.IsSleeping()){ this.changeGameEvent(GameEvents.GAME_CHECK_COMPLETE); this. (BlockEvents.BLOCK_ACTION_SLEEP); }; _local2 = gravity.Copy(); _local2.Multiply((_body.m_mass * gravity_kof)); _body.ApplyForce(_local2, _body.GetWorldCenter(), false); _local3 = 0; _local4 = this._body.m_contactList; while (_local4) { _local3 = (_local3 + _local4.contact.GetManifolds()[0].pointCount); _local4 = _local4.next; };  .push(_local3);  .splice(0, ( .length - 2)); _local5 = true; _local6 = 0; while (_local6 <  .length) { if ( [0] !=  [_local6]){ _local5 = false; break; }; _local6++; }; if (_local5){ _local3 =  [0]; if (  < _local3){ Global.sound_game.playSound(null, "boom5", 0,  (), (this._body.m_linearVelocity.Length() * (_object_square / 9))); };   = _local3; }; } override public function remove(_arg1:Boolean=true):void{ var i:*; var gameOverFlag = _arg1; super.remove(gameOverFlag); for (i in  ) { _body.DestroyShape(( [i] as b2Shape)); }; Global._box2d_world.DestroyBody(_body); try {  .startShowOut(); } catch(e:Error) { }; MovieClip(_goal["gameContainer"]).removeChild(this); } public function upAction(_arg1:Event=null):void{ if ( .length > 0){ ( [( .length - 1)] as PowerArrow).stopAction(); }; stage.removeEventListener(MouseEvent.MOUSE_UP, upAction); if (Global._keyFlags["shift"] != true){  (); }; } private function  (_arg1:GameEvents=null):void{ var i:uint; var imp:b2Vec2; var event = _arg1; i = 0; while (i <  .length) { try { imp =  [i].impuls.Copy(); imp.Multiply(_body.m_mass); _body.ApplyImpulse(imp,  [i].point); ( [i] as PowerArrow).remove(); } catch(e:Error) { ( [i] as PowerArrow).remove(); }; i = (i + 1); };   = new Array(); if (  == false){  (null); }; } public function update(_arg1:GameEvents=null):void{ if (_object_static == true){ }; this.dispatchEvent(new BlockEvents(String(_object_action))); } private function (_arg1:GameEvents=null):void{ this.visible = _arg1.gameValue; } private function  (_arg1:GameEvents=null):void{ _object_static = true;  (); } public function isSleeping():Boolean{ return (_body.IsSleeping()); } public function  (_arg1:BlockEvents=null):void{ updateSkin(true); _object_skin.gotoAndStop((_object_skin.currentFrame + 1));  --; if ( <= 0){  (); }; } private function  (_arg1:MouseEvent=null):void{ if (  == true){   = false; this.  = 1; stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.addEventListener(GameEvents.GAME_UPDATE,  ); }; } private function  (_arg1:Event):void{ clearEvents(); } public function downAction(_arg1:Event=null):void{ var _local2:Number; var _local3:PowerArrow; _local2 = new Date().getTime(); _local3 = new PowerArrow(this);  .push(_local3); stage.addEventListener(MouseEvent.MOUSE_UP, upAction);   = _local2; } public function setStatic(_arg1:Boolean):void{ var _local2:*; if (_arg1 != _object_static){ _object_static = _arg1; _object_design = !(_object_static); changeDesign(); for (_local2 in  ) { _body.DestroyShape(( [_local2] as b2Shape)); };   = new Array(); for (_local2 in  ) { if (_object_static == true){ ( [_local2] as b2PolygonDef).density = 0; } else { ( [_local2] as b2PolygonDef).density = _object_density; };  .push(_body.CreateShape( [_local2])); }; _body.SetMassFromShapes(); if (_object_static == true){ stage.removeEventListener(GameEvents.GAME_UPDATE, update); _body.PutToSleep(); } else { stage.addEventListener(GameEvents.GAME_UPDATE, update); _body.WakeUp(); }; }; } public function  ():Number{ return (((this.x - 300) / 300)); } public function  (_arg1:GameEvents=null):void{ var event = _arg1; this.mouseEnabled = true; trace(1); try { if (((!((gravity.x ==  .impuls.x))) || (!((gravity.y ==  .impuls.y))))){ gravity =  .impuls; _body.PutToSleep(); _body.WakeUp(); }; gravity_kof =  .getImpulsLength(); } catch(e:Error) { }; trace(2);  (); trace(4); if (_body.IsSleeping()){ _body.WakeUp(); }; trace(5); this. (BlockEvents.BLOCK_ACTION_FLY); trace(6); } public function setInSelfPlace(_arg1:Boolean=false):void{ if (_arg1){  (); } else {  (); }; } public function  ():void{ remove(); } public function  (_arg1:GameEvents=null):void{ this.mouseEnabled = false; if ((((this._object_admin == false)) || ((Global._admin == true)))){  = new GravityArrow(this); }; } override public function clearEvents():void{ super.clearEvents(); this.removeEventListener(Event.REMOVED_FROM_STAGE,  ); stage.removeEventListener(GameEvents.GAME_UPDATE, update); stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.removeEventListener(GameEvents.GAME_ACTIVATE_IMPULS,  ); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_ACTION,  ); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  ); stage.removeEventListener(GameEvents.GAME_CHANGE_SHOW, ); this.removeEventListener(BlockEvents.BLOCK_ACTION_FLY,  ); this.removeEventListener(BlockEvents.BLOCK_ACTION_SLEEP,  ); this.removeEventListener(BlockEvents.BLOCK_ACTION_CRACH,  ); this.removeEventListener(BlockEvents.BLOCK_CHANGE_ACTION,  ); stage.removeEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); this.removeEventListener(MouseEvent.MOUSE_DOWN, downAction); stage.removeEventListener(MouseEvent.MOUSE_UP, upAction); } private function  ():void{ if (_object_static == true){ this.removeEventListener(MouseEvent.ROLL_OUT,  ); this.removeEventListener(MouseEvent.ROLL_OVER,  ); this.removeEventListener(MouseEvent.MOUSE_DOWN, downAction); stage.removeEventListener(MouseEvent.MOUSE_UP, upAction); } else { this.addEventListener(MouseEvent.MOUSE_DOWN, downAction); }; } override public function ini(_arg1:Object, _arg2:Boolean=false):void{ super.ini(_arg1); this.addEventListener(Event.REMOVED_FROM_STAGE,  ); stage.addEventListener(GameEvents.GAME_UPDATE, update); stage.addEventListener(GameEvents.GAME_ACTIVATE_IMPULS,  ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_ACTION,  ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  ); stage.addEventListener(GameEvents.GAME_CHANGE_SHOW, ); this.addEventListener(BlockEvents.BLOCK_ACTION_FLY,  ); this.addEventListener(BlockEvents.BLOCK_ACTION_SLEEP,  ); this.addEventListener(BlockEvents.BLOCK_ACTION_CRACH,  ); this.addEventListener(BlockEvents.BLOCK_CHANGE_ACTION,  ); stage.addEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); this.addEventListener(MouseEvent.MOUSE_DOWN, downAction);  (BlockEvents.BLOCK_ACTION_FLY); } } }//package com.gamezhero.game
Section 107
//BlockShadows (com.gamezhero.game.BlockShadows) package com.gamezhero.game { import flash.events.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.filters.*; public class BlockShadows extends MovieClip { private var arr:Array; private var g:MovieClip; public function BlockShadows(_arg1:MovieClip){ arr = new Array(); g = _arg1; super(); g.addChildAt(this, 1); iniEvents();  (); } private function iniEvents():void{ stage.addEventListener(GameEvents.GAME_BLOCK_CREATE, ); stage.addEventListener(GameEvents.GAME_BLOCK_DELETE,  ); stage.addEventListener(GameEvents.GAME_UPDATE, update); this.addEventListener(Event.REMOVED_FROM_STAGE, remove); stage.addEventListener(GameEvents.GAME_CHANGE_SHOW, ); } private function  ():void{ var i:uint; i = 0; while (i < arr.length) { try { this.removeChild(arr[i].shadow); } catch(e:Error) { trace("Error Delete Shadow Block"); }; i = (i + 1); }; arr = new Array(); } private function remove(_arg1:Event=null):void{ clearEvents();  (); } private function  (_arg1:GameEvents=null):void{ var _local2:Block; var _local3:uint; _local2 = (_arg1.gameValue as Block); _local3 = 0; while (_local3 < arr.length) { if (arr[_local3].block == _local2){ this.removeChild(arr[_local3].shadow); arr.splice(_local3, 1); break; }; _local3++; }; } private function update(_arg1:GameEvents=null):void{ var _local2:uint; var _local3:Block; var _local4:MovieClip; _local2 = 0; while (_local2 < arr.length) { _local3 = (arr[_local2].block as Block); _local4 = (arr[_local2].shadow as MovieClip); _local4.x = (_local3.x + 10); _local4.y = (_local3.y + 10); _local4.rotation = _local3.rotation; _local2++; }; } public function clearEvents():void{ stage.removeEventListener(GameEvents.GAME_BLOCK_CREATE, ); stage.removeEventListener(GameEvents.GAME_BLOCK_DELETE,  ); stage.removeEventListener(GameEvents.GAME_UPDATE, update); this.removeEventListener(Event.REMOVED_FROM_STAGE, remove); stage.removeEventListener(GameEvents.GAME_CHANGE_SHOW, ); } private function  ():void{ var _local1:Array; var _local2:uint; var _local3:GameEvents; _local1 = (g as Game).getBlocks(); _local2 = 0; while (_local2 < _local1.length) { _local3 = new GameEvents(GameEvents.GAME_BLOCK_CREATE); _local3.gameValue = _local1[_local2]; (_local3); _local2++; }; } private function (_arg1:GameEvents=null):void{ trace(">>>> changeShow"); this.visible = _arg1.gameValue; } private function (_arg1:GameEvents=null):void{ var _local2:Block; var _local3:Object; var _local4:Class; var _local5:Array; var _local6:ColorMatrixFilter; _local2 = (_arg1.gameValue as Block); _local3 = new Object(); trace((">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> shadow" + _local2._object_type_block)); _local4 = (getDefinitionByName(("shadow" + _local2._object_type_block)) as Class); _local3.block = _local2; _local3.shadow = new (_local4); _local5 = new Array(); _local5 = _local5.concat([-1, 0, 0, 0, 0]); _local5 = _local5.concat([0, -1, 0, 0, 0]); _local5 = _local5.concat([0, 0, -1, 0, 0]); _local5 = _local5.concat([0, 0, 0, 1, 0]); _local6 = new ColorMatrixFilter(_local5); (_local3.shadow as MovieClip).filters = [_local6]; this.addChild(_local3.shadow); arr.push(_local3); } } }//package com.gamezhero.game
Section 108
//Cursor (com.gamezhero.game.Cursor) package com.gamezhero.game { import flash.events.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import caurina.transitions.*; import flash.ui.*; public class Cursor extends MovieClip { public var :MovieClip; public var vesi:MovieClip; public var timer:Timer; public function Cursor(_arg1:MovieClip){ addFrameScript(0, frame1); super(); _arg1.addChild(this); this.stop(); this.startDrag(true); this.mouseChildren = false; this.mouseEnabled = false;  = (this["vesi"] as MovieClip); .visible = false; .stop(); timer = new Timer(4000, 1); timer.addEventListener(TimerEvent.TIMER, ); Mouse.hide(); iniEvents(); } private function (_arg1:Event=null):void{ this.alpha = 1; Mouse.show(); stage.addEventListener(MouseEvent.MOUSE_OVER,  ); Tweener.addTween(this, {alpha:0, time:0.5, transition:"easeOutExpo"}); } private function (_arg1:Boolean=false):void{ if (_arg1){ .visible = true; .play(); } else { .visible = false; .stop(); }; } private function iniEvents():void{ stage.addEventListener(MouseEvent.MOUSE_UP, ); stage.addEventListener(MouseEvent.MOUSE_DOWN, ); stage.addEventListener(Event.MOUSE_LEAVE, ); stage.addEventListener(GameEvents.GAME_ACTIVATE_IMPULS,  ); stage.addEventListener(GameEvents.GAME_PUZZLE_SLEEP,  ); } private function (_arg1:TimerEvent=null):void{ timer.stop(); (true); } private function  (_arg1:GameEvents=null):void{ timer.stop(); (false); } private function  (_arg1:Event=null):void{ this.alpha = 0; Mouse.hide(); stage.removeEventListener(MouseEvent.MOUSE_OVER,  ); Tweener.addTween(this, {alpha:1, time:0.5, transition:"easeOutExpo"}); } function frame1(){ stop(); } private function  (_arg1:GameEvents=null):void{ timer.stop(); timer = new Timer(4000, 1); timer.addEventListener(TimerEvent.TIMER, ); timer.start(); (); } private function (_arg1:MouseEvent=null):void{ gotoAndStop(1); } private function (_arg1:MouseEvent=null):void{ (); gotoAndStop(2); } } }//package com.gamezhero.game
Section 109
//EditorPanel (com.gamezhero.game.EditorPanel) package com.gamezhero.game { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import caurina.transitions.*; import com.gamezhero.*; import flash.text.*; import flash.system.*; public class EditorPanel extends MovieClip { public var :SimpleButton; public var :MovieClip; public var  :SimpleButton; private var g:MovieClip; public var menu_mc:MovieClip; public var  :SimpleButton; public var :SimpleButton; private var :TextField; public var :SimpleButton; public var :SimpleButton; private var :TextField; public var  :SimpleButton; public var test_btn:MovieClip; public var save_puzzle:MovieClip; public var :SimpleButton; public var menu:MovieClip; public var add_block:MovieClip; public var :SimpleButton; public var :SimpleButton; public var :SimpleButton; public var :MovieClip; public var  :MovieClip; public var load_puzzle:MovieClip; public var :Boolean;// = false public var :MovieClip; public var :MovieClip; public function EditorPanel(_arg1:MovieClip){  = false; super(); g = _arg1; menu_mc = this["menu"];  = this["save_puzzle"];  = this["load_puzzle"];  = this["add_block"];  = menu_mc["indicator"];  = menu_mc["add_btn"];  = menu_mc["load_btn"];  = menu_mc["save_btn"];  = menu_mc["test_btn"];  = menu_mc["clear_btn"];  = menu_mc["exit_btn"];  =  ["copy_btn"];  =  ["close_btn"];  =  ["text"];  = ["load_btn"];  = ["close_btn"];  = ["text"];  = ["close_btn"]; g.addChild(this); iniEvents(); ();  = menu_mc;  (); (); } private function (_arg1=true):void{ var _local2:uint; if (_arg1){ _local2 = 1; while (_local2 <= 31) { trace(_local2, ([("b" + _local2)] as MovieClip)); ([("b" + _local2)] as MovieClip).addEventListener(MouseEvent.CLICK, addNewBlock); ([("b" + _local2)] as MovieClip).mouseChildren = false; _local2++; }; } else { _local2 = 1; while (_local2 <= 31) { ([("b" + _local2)] as MovieClip).removeEventListener(MouseEvent.CLICK, addNewBlock); _local2++; }; }; } private function (_arg1:MouseEvent=null):void{  =  ; .text = (g as Game).getLevel();  ( ); } private function iniEvents():void{ (true); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_START, ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  ); .addEventListener(MouseEvent.CLICK, ); .addEventListener(MouseEvent.CLICK, );  .addEventListener(MouseEvent.CLICK, ); .addEventListener(MouseEvent.CLICK, );  .addEventListener(MouseEvent.CLICK, ); .addEventListener(MouseEvent.CLICK,  ); stage.addEventListener(GameEvents.GAME_BLOCK_CREATE, ); stage.addEventListener(GameEvents.GAME_BLOCK_DELETE, ); .addEventListener(MouseEvent.CLICK, focusText); .addEventListener(MouseEvent.CLICK,  ); .addEventListener(MouseEvent.CLICK,  );  .addEventListener(MouseEvent.CLICK,  ); .addEventListener(MouseEvent.CLICK, ); .addEventListener(MouseEvent.CLICK,  ); stage.addEventListener(GameEvents.GAME_SLEEP, ); stage.addEventListener(GameEvents.GAME_UNSLEEP, ); } public function focusText(_arg1:MouseEvent=null):void{ var _local2:TextField; trace("FOCUS IN"); if (_arg1 == null){ _local2 = ; } else { _local2 = (_arg1.target as TextField); }; _local2.setSelection(0, _local2.text.length); System.setClipboard(_local2.text); } private function (_arg1:MouseEvent=null):void{  = ;  (); } private function (_arg1:MouseEvent=null):void{ trace(.text); (g as Game).createLevel(.text);  (); .text = ""; } private function  (_arg1:GameEvents=null){ iniEvents(); if ( == ){ (); };  (); if ( == true){ }; } private function addNewBlock(_arg1:MouseEvent=null):void{ var _local2:MovieClip; _local2 = (_arg1.target as MovieClip); (g as Game).addNewBlock(Number(_local2.name.substr(1))); } private function (_arg1:GameEvents=null):void{ var _local2:Number; var _local3:Array; var _local4:uint; trace("DELETE blockDelete"); _local2 = 0; _local3 = (g as Game).getBlocks(); _local4 = 0; while (_local4 < _local3.length) { _local2 = (_local2 + Global._block_gallery[("block_type_" + (_local3[_local4] as Block)._object_type_block)]["square"]); _local4++; }; (_local2); } public function up():void{ g.removeChild(this); g.addChild(this); } private function (_arg1):void{ var _local2:Number; var _local3:*; _local2 = (Global.freeSpace - _arg1); trace("free ", _local2); _local3 = 1; while (_local3 <= 31) { if (Global._block_gallery[("block_type_" + _local3)]["square"] > _local2){ ([("b" + _local3)] as MovieClip).mouseEnabled = false; ([("b" + _local3)] as MovieClip).alpha = 0.2; } else { ([("b" + _local3)] as MovieClip).mouseEnabled = true; ([("b" + _local3)] as MovieClip).alpha = 1; }; _local3++; }; } private function (_arg1:MouseEvent=null):void{  = ;  (); } private function (_arg1:MouseEvent=null):void{ Global.testLevel = "-1"; (g as Game).createLevel("-1"); } private function (_arg1:GameEvents=null){ clearEvents(); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_START, ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  );  (); .mouseEnabled = false; .alpha = 0.5; .mouseEnabled = false; .alpha = 0.5; } private function  (_arg1:MouseEvent=null):void{ clearEvents(); (g as Game).missionCancel(); } private function  (_arg1:MovieClip=null):void{ if (_arg1 != null){ this.removeChild(_arg1); this.addChild(_arg1); Tweener.addTween(_arg1, {y:0, time:getTime(_arg1), transition:"easeOutExpo"}); }; Tweener.addTween(menu_mc, {y:-(menu_mc.height), time:getTime(menu_mc), transition:"easeOutExpo"}); } private function  (_arg1:MovieClip=null):void{ if (_arg1 != null){ this.removeChild(_arg1); this.addChild(_arg1); Tweener.addTween(_arg1, {y:0, time:getTime(_arg1), transition:"easeOutExpo"}); }; } private function  (_arg1:MouseEvent=null):void{ var _local2:MovieClip; _local2 = ((_arg1.target as SimpleButton).parent as MovieClip);  (_local2); } private function getTime(_arg1:MovieClip):Number{ return (1); } private function (_arg1:MouseEvent=null):void{ clearEvents(); (g as Game).missionTest(); } private function  (_arg1:MouseEvent=null):void{ focusText();  ( ); } private function  (_arg1:MovieClip=null):void{ if (_arg1 != null){ Tweener.addTween(_arg1, {y:-(_arg1.height), time:getTime(_arg1), transition:"easeOutExpo"}); };  = menu_mc; Tweener.addTween(menu_mc, {y:0, time:getTime(menu_mc), transition:"easeOutExpo"}); this.removeChild(menu_mc); this.addChild(menu_mc); } private function  (_arg1:MouseEvent=null):void{ var _local2:MovieClip; _local2 = ((_arg1.target as SimpleButton).parent as MovieClip);  (_local2); } private function  (_arg1:MovieClip=null):void{ if (_arg1 != null){ Tweener.addTween(_arg1, {y:-(_arg1.height), time:getTime(_arg1), transition:"easeOutExpo"}); }; } private function (_arg1:GameEvents=null):void{ .gotoAndStop(1); .mouseEnabled = false; .alpha = 0.5; .mouseEnabled = false; .alpha = 0.5;  = false; } private function clearEvents():void{ (false); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_START, ); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  ); .removeEventListener(MouseEvent.CLICK, ); .removeEventListener(MouseEvent.CLICK, );  .removeEventListener(MouseEvent.CLICK, ); .removeEventListener(MouseEvent.CLICK, );  .removeEventListener(MouseEvent.CLICK, ); .removeEventListener(MouseEvent.CLICK,  ); stage.removeEventListener(GameEvents.GAME_BLOCK_CREATE, ); stage.removeEventListener(GameEvents.GAME_BLOCK_DELETE, ); .removeEventListener(MouseEvent.CLICK,  ); .removeEventListener(MouseEvent.CLICK,  );  .removeEventListener(MouseEvent.CLICK,  ); .removeEventListener(MouseEvent.CLICK, ); .removeEventListener(MouseEvent.CLICK,  ); stage.removeEventListener(GameEvents.GAME_SLEEP, ); stage.removeEventListener(GameEvents.GAME_UNSLEEP, ); } private function (_arg1:GameEvents=null):void{ var _local2:Number; var _local3:Array; var _local4:uint; _local2 = 0; _local3 = (g as Game).getBlocks(); _local4 = 0; while (_local4 < _local3.length) { _local2 = (_local2 + Global._block_gallery[("block_type_" + (_local3[_local4] as Block)._object_type_block)]["square"]); _local4++; }; (_local2); } private function (_arg1:GameEvents=null):void{ .gotoAndStop(2); .mouseEnabled = true; .alpha = 1; .mouseEnabled = true; .alpha = 1;  = true; } } }//package com.gamezhero.game
Section 110
//Game (com.gamezhero.game.Game) package com.gamezhero.game { import Box2D.Common.Math.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.geom.*; import com.gamezhero.*; import com.gamezhero.gameForms.*; public class Game extends MovieClip { private var :Timer; private var  :Timer; private var  :PublishPanel; public var :b2World; private var :Timer; private var :String;// = "game" private var :Boolean;// = false private var :EditorPanel; public var gameContainer:MovieClip; private var  :Number;// = 0 private var construction:LevelConstruction; private var :Number; private var  :RatePanel; private var :GameTrack; private var  :BlockShadows; private var  :uint;// = 0 private var  :uint;// = 0 private var  :Array; private var  :Array; private var design:LevelDesign; public var  :b2Body; private var  :Boolean;// = true public var bg_mc:MovieClip; private var  :Number; public function Game(){  = false;  = new Array();  = 0;  = "game";   = true;   = 0;   = 0; super(); this.addEventListener(Event.ENTER_FRAME, iniGame); } public function ():void{ clearEvents(); (); Global.sound_interface.stopSounds(); } private function ():void{ var _local1:Number; var _local2:b2AABB; var _local3:b2Vec2; var _local4:Boolean; var _local5:b2PolygonDef; var _local6:b2BodyDef; var _local7:b2Body; var _local8:Number; var _local9:b2DebugDraw; _local1 = Global._current_level; _local2 = new b2AABB(); _local2.lowerBound.Set(Global._box2d_lower_bound, Global._box2d_lower_bound); _local2.upperBound.Set(Global._box2d_upper_bound, Global._box2d_upper_bound); _local3 = Global._box2d_gravitation; _local4 = true;  = new b2World(_local2, _local3, _local4);  = Global._box2d_time_step; gameContainer = new MovieClip(); gameContainer.name = "gameContainer"; gameContainer.mouseEnabled = false; gameContainer.mouseChildren = true; this.addChild((gameContainer as DisplayObject)); if (Global._rander){ _local9 = new b2DebugDraw(); _local9.m_sprite = gameContainer; _local9.m_drawScale = Global._box2d_phys_scale; _local9.m_fillAlpha = 0.3; _local9.m_lineThickness = 1; _local9.m_drawFlags = ((b2DebugDraw.e_shapeBit | b2DebugDraw.e_jointBit) | b2DebugDraw.e_coreShapeBit); .SetDebugDraw(_local9); }; _local5 = new b2PolygonDef(); _local6 = new b2BodyDef(); _local8 = 100; _local6.position.Set(Global.toWorldY(-(_local8)), Global.toWorldY(Global._game_height_2)); _local5.SetAsBox(Global.toWorldY(_local8), Global.toWorldY(Global._game_height_2)); _local5.density = 0; _local5.friction = 0.8; _local5.restitution = 0.1; _local7 = .CreateBody(_local6); _local7.m_userData = {target:null, type:"floor1"}; _local7.CreateShape(_local5); _local7.SetMassFromShapes(); _local6.position.Set(Global.toWorldY((Global._game_width + _local8)), Global.toWorldY(Global._game_height_2)); _local7 = .CreateBody(_local6); _local7.m_userData = {target:null, type:"floor2"}; _local7.CreateShape(_local5); _local7.SetMassFromShapes(); _local6.position.Set(Global.toWorldY(Global._game_width_2), Global.toWorldY(-(_local8))); _local5.SetAsBox(Global.toWorldY(Global._game_width_2), Global.toWorldY(_local8)); _local5.density = 0; _local5.friction = 0.8; _local5.restitution = 0.1; _local7 = .CreateBody(_local6); _local7.m_userData = {target:null, type:"floor3"}; _local7.CreateShape(_local5); _local7.SetMassFromShapes();   = _local7; _local6.position.Set(Global.toWorldY(Global._game_width_2), Global.toWorldY((Global._game_height + _local8))); _local7 = .CreateBody(_local6); _local7.m_userData = {target:null, type:"floor4"}; _local7.CreateShape(_local5); _local7.SetMassFromShapes(); } public function  (_arg1:Number=0):void{ var _local2:String; _local2 = "win"; if (_arg1 == 1){ _local2 = "win2"; }; } private function  (_arg1:KeyboardEvent=null):void{ var _local2:GameEvents; switch (_arg1.keyCode){ case Global._keys["shift"]: Global._keyFlags["shift"] = false; _local2 = new GameEvents(GameEvents.GAME_ACTIVATE_IMPULS); stage.dispatchEvent(_local2); break; case Global._keys["h"]: Global._keyFlags["h"] = false; break; case Global._keys["space"]: Global._keyFlags["space"] = false; if ( != GameEvents.GAME_CHANGE_GRAVITY_START){ _local2 = new GameEvents(GameEvents.GAME_CHANGE_GRAVITY_START);  = GameEvents.GAME_CHANGE_GRAVITY_START; Global.sound_game.playSound(null, "s_gravity2"); } else { _local2 = new GameEvents(GameEvents.GAME_CHANGE_GRAVITY_FINISH);  = GameEvents.GAME_CHANGE_GRAVITY_FINISH; Global.sound_game.playSound(null, "s_gravity"); }; stage.dispatchEvent(_local2); break; }; } public function missionTest():void{ var _local1:GameAreaEvents; Global.testLevel = this.getLevel(); (); this.(); _local1 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); _local1.gameAreaValue = GameAreaEvents.GAME_AREA_TEST; stage.dispatchEvent(_local1); } public function (_arg1:TimerEvent):void{ ++; .Step( , Global._box2d_iterations); stage.dispatchEvent(new GameEvents(GameEvents.GAME_UPDATE)); _arg1.updateAfterEvent(); } public function getBlocks():Array{ return ( ); } public function ():void{ var _local1:uint; _local1 = 0; while (_local1 <  .length) { ( [_local1] as Block).remove(); _local1++; }; if (design){ design.remove(); }; if (construction){ construction.remove(); }; } public function addNewBlock(_arg1):void{ var _local2:Object; var _local3:b2Vec2; _local2 = new Object(); _local2.type = _arg1; _local2.pos =  (true); _local2.color = 0xFF9900; _local2.design = true; _local2.active = true; _local3 = new b2Vec2(0, 1); _local3.Multiply(Global._box2d_max_mass_kof); _local2.gravity = {x:_local3.x, y:_local3.y}; _local2.admin = false; (_local2); } private function (_arg1:GameEvents=null):void{ var _local2:Block; var _local3:uint; _local2 = (_arg1.gameValue as Block); _local3 = 0; while (_local3 <  .length) { if (_local2 ==  [_local3]){ ( [_local3] as Block).remove();  .splice(_local3, 1); stage.focus = stage; break; }; _local3++; }; } private function finish(_arg1:TimerEvent=null):void{ switch (GameAreaEvents.gameAreaType){ case GameAreaEvents.GAME_AREA_GAME:  (); break; case GameAreaEvents.GAME_AREA_TEST: this.clearEvents(); this. (); break; case GameAreaEvents.GAME_AREA_PREVIEW: this.clearEvents(); this. (); break; }; } public function (_arg1:GameEvents=null):void{ var _local2:GameAreaEvents; (); this.(); _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); _local2.gameAreaValue = GameAreaEvents.GAME_AREA_EDITOR; stage.dispatchEvent(_local2); } public function  ():Object{ var _local1:b2Vec2; _local1 = new b2Vec2(0, 1); _local1.Multiply(Global._box2d_max_mass_kof); return ({x:_local1.x, y:_local1.y}); } public function  (_arg1:GameEvents=null):void{  .removeEventListener("timer", );  .addEventListener("timer", );  .start(); } public function missionFail(_arg1:GameEvents=null):void{ var _local2:GameAreaEvents; var _local3:GameEvents; var _local4:int; (); this.(); _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); if (GameAreaEvents.GAME_AREA_GAME == GameAreaEvents.gameAreaType){ _local4 = 0; if (Global.setNextLive() == -1){ _local4 = -1; _local2.gameAreaValue = GameAreaEvents.GAME_AREA_SCORE; } else { _local4 = 0; _local2.gameAreaValue = GameAreaEvents.GAME_AREA_MAP; }; Global.setLevelScore(_local4); } else { trace(("!!!!!!!!!!!!!!!!!!!!!!!!! " + GameAreaEvents.gameAreaTypeOld)); if ((((GameAreaEvents.gameAreaTypeOld == null)) || ((GameAreaEvents.gameAreaTypeOld == undefined)))){ _local2.gameAreaValue = GameAreaEvents.GAME_AREA_MENU; } else { _local2.gameAreaValue = GameAreaEvents.gameAreaTypeOld; }; }; stage.dispatchEvent(_local2); _local3 = new GameEvents(GameEvents.GAME_OVER); stage.dispatchEvent(_local3); } private function ():void{ var _local1:uint; _local1 = 0; while (_local1 <  .length) { if (( [_local1] as Block)._object_static == true){ trace(("DELETE !!!!! " + _local1)); ( [_local1] as Block).remove();  .splice(_local1, 1); _local1--; }; _local1++; }; stage.focus = stage; } public function (_arg1:GameEvents=null):void{ var how:Boolean; var i:uint; var arr_sleeping:Array; var finishFlag:Boolean; var eventGame2:GameEvents; var evnt:GameEvents; var j:uint; var z:uint; var reserved:uint; var pogreshDx:Number; var pogresh:Number; var pogreshAmount:uint; var g1:Block; var how2:Boolean; var g2:Object; var dx:b2Vec2; var type:Number; var rot:Number; var rotHow:Boolean; var dx2:Number; var eventGame:GameEvents; var event = _arg1; how = true; arr_sleeping = new Array(); finishFlag = true; i = 0; while (i < this. .length) { if ((((( [i] as Block).isSleeping() == true)) && ((( [i] as Block)._object_static == false)))){ arr_sleeping.push(( [i] as Block)); } else { finishFlag = false; try { ( [i] as Block).setInSelfPlace(false); } catch(e:Error) { }; }; i = (i + 1); }; if (how){ eventGame2 = new GameEvents(GameEvents.GAME_PUZZLE_SLEEP); stage.dispatchEvent(eventGame2); evnt = new GameEvents(GameEvents.GAME_SLEEP); stage.dispatchEvent(evnt); if (GameAreaEvents.gameAreaType != GameAreaEvents.GAME_AREA_EDITOR){ this. ; j = 0; while (j < this. .length) { this. [j]["reserve"] = false; j = (j + 1); }; reserved = 0; pogreshDx = 3; pogresh = 0; pogreshAmount = 0; j = 0; while (j < arr_sleeping.length) { g1 = (arr_sleeping[j] as Block); how2 = true; i = 0; while (i < this. .length) { g2 = (this. [i] as Object); if ((((g2["reserve"] == false)) && ((g1._object_type_block == g2["type"])))){ dx = new b2Vec2((g1.x - g2.pos.x), (g1.y - g2.pos.y)); type = g1._object_type_block; rot = g1.rotation; rotHow = false; z = 0; while (z < Global._block_gallery[("block_type_" + type)]["angles"].length) { dx2 = Global.angleTransform(Math.abs(((rot + Global._block_gallery[("block_type_" + type)]["angles"][z]) - g2["pos"]["rotation"]))); if (Math.abs(dx2) < pogreshDx){ pogresh = (pogresh + Math.abs(dx2)); pogreshAmount = (pogreshAmount + 1); rotHow = true; break; }; z = (z + 1); }; if ((((Math.abs(dx.Length()) < pogreshDx)) && (rotHow))){ pogresh = (pogresh + Math.abs(dx.Length())); pogreshAmount = (pogreshAmount + 1); this. [i]["reserve"] = true; reserved = (reserved + 1); try { g1.setInSelfPlace(true); } catch(e:Error) { trace(e); }; how2 = false; break; }; }; i = (i + 1); }; if (how2){ try { g1.setInSelfPlace(false); } catch(e:Error) { trace(e); }; }; j = (j + 1); }; if ((((((this. .length == reserved)) && ((this. .length > 0)))) && ((finishFlag == true)))){   = (1 - ((pogresh / pogreshAmount) / pogreshDx));  = new Timer(1500, 1); .addEventListener("timer", finish); .start(); eventGame = new GameEvents(GameEvents.GAME_PUZZLE_COMPLETE); stage.dispatchEvent(eventGame); stage.removeEventListener(GameEvents.GAME_CHECK_COMPLETE, ); }; }; }; } public function (_arg1:TimerEvent=null):void{ var _local2:GameEvents;  = ( - 0.01); if ( <= 0){  = 0;  .removeEventListener("timer", );  .stop(); _local2 = new GameEvents(GameEvents.GAME_CHANGE_GRAVITY_ACTION); stage.dispatchEvent(_local2); }; } public function (_arg1:Object, _arg2:Boolean=true):void{ var _local3:Block; var _local4:GameEvents; _arg1 = Global.clone(_arg1); if (GameAreaEvents.gameAreaType != GameAreaEvents.GAME_AREA_EDITOR){ if (_arg2){ _arg1.pos =  (); _arg1.gravity =  (); _arg1.impuls = {x:Math.random(), y:Math.random()}; } else { _arg1.impuls = {x:0, y:0}; }; } else { _arg1.impuls = {x:0, y:0}; }; _local3 = new Block(this, _arg1,  ); _local4 = new GameEvents(GameEvents.GAME_BLOCK_CREATE); _local4.gameValue = _local3; stage.dispatchEvent(_local4); } public function missionPreviewComplite(_arg1:GameEvents=null):void{ var _local2:GameAreaEvents; (); this.(); Global._game_stored_data.data.completedLevels[Global.previewLevelID] = true; _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); if (GameAreaEvents.gameAreaTypeOld == GameAreaEvents.GAME_AREA_SELECTOR){ _local2.gameAreaValue = GameAreaEvents.GAME_AREA_SELECTOR; } else { _local2.gameAreaValue = GameAreaEvents.GAME_AREA_MENU; }; stage.dispatchEvent(_local2); } public function ():void{ var _local1:Number; var _local2:Number; var _local3:BitmapData; var _local4:MovieClip; var _local5:Bitmap; _local1 = Global._game_width; _local2 = Global._game_height; _local3 = new BitmapData(_local1, _local2, true, 0xFFFFFF); _local3.draw(root); _local4 = new MovieClip(); _local5 = new Bitmap(_local3, "auto", true); _local4.addChild((_local5 as DisplayObject)); this.addChild(_local4); } public function pauseGame(_arg1:Boolean):void{ var _local2:GameEvents; var _local3:PauseMenu; if ( != _arg1){  = _arg1; if (){ .stop(); _local3 = new PauseMenu(MovieClip(this)); } else { .start();  = false; }; _local2 = new GameEvents(GameEvents.GAME_PAUSE); _local2.gameValue = ; stage.dispatchEvent(_local2); }; } public function (_arg1:Event=null):void{ } public function  (_arg1:Boolean=false):Object{ var _local2:Object; var _local3:uint; var _local4:Number; var _local5:Number; var _local6:uint; var _local7:uint; var _local8:Number; var _local9:Number; var _local10:Boolean; var _local11:uint; var _local12:uint; var _local13:Point; var _local14:Array; var _local15:uint; _local2 = new Object(); _local3 = 6; _local4 = 100; _local5 = ((600 - (_local4 * 2)) / _local3); _local6 = ((_arg1)==true) ? 0 : Number( ); _local7 = ((_arg1)==true) ? 0 : Number( ); _local8 = -1; _local9 = -1; _local10 = false; _local11 = _local6; while (_local11 < _local3) { _local12 = _local7; while (_local12 < _local3) { _local8 = (_local4 + (_local12 * _local5)); _local9 = (_local4 + (_local11 * _local5)); _local13 = new Point(_local8, _local9); _arg1 = false; _local14 = gameContainer.getObjectsUnderPoint(_local13); _local15 = 0; while (_local15 < _local14.length) { if ( (_local14[_local15])){ _arg1 = true; break; }; _local15++; }; if (_arg1 == false){ _local10 = true; //unresolved jump }; _local12++; }; _local11++; }; if (_local10 == false){ _local11 = 0; while (_local11 < 10) { _local8 = (_local4 + ((Math.random() * _local3) * _local5)); _local9 = (_local4 + ((Math.random() * _local3) * _local5)); _local13 = new Point(_local8, _local9); _arg1 = false; _local14 = gameContainer.getObjectsUnderPoint(_local13); _local15 = 0; while (_local15 < _local14.length) { if ( (_local14[_local15])){ _arg1 = true; break; }; _local15++; }; if (_arg1 == false){ break; }; _local11++; }; }; _local2.x = _local8; _local2.y = _local9; _local2.rotation = 0;   = (_local11 + 1);   = (_local12 + 1); return (_local2); } public function missionCancel(_arg1:GameEvents=null):void{ var _local2:GameAreaEvents; (); this.(); _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); _local2.gameAreaValue = GameAreaEvents.GAME_AREA_MENU; stage.dispatchEvent(_local2); } private function  (_arg1:KeyboardEvent=null):void{ var _local2:GameEvents; switch (_arg1.keyCode){ case Global._keys["shift"]: Global._keyFlags["shift"] = true; break; case Global._keys["space"]: Global._keyFlags["space"] = true; break; case Global._keys["esc"]: if (GameAreaEvents.gameAreaType == GameAreaEvents.GAME_AREA_GAME){ pauseGame(true); }; if (GameAreaEvents.gameAreaType == GameAreaEvents.GAME_AREA_PREVIEW){ pauseGame(true); }; break; case Global._keys["h"]: Global._keyFlags["h"] = true; if ( != GameEvents.GAME_CHANGE_GRAVITY_START){   = !( ); _local2 = new GameEvents(GameEvents.GAME_CHANGE_SHOW); _local2.gameValue =  ; stage.dispatchEvent(_local2); }; break; case Global._keys["p"]: pauseGame(true); break; }; } public function (_arg1:TimerEvent=null):void{  = ( + 0.005); if ( > Global._box2d_time_step){  = Global._box2d_time_step;  .removeEventListener("timer", );  .stop(); }; } private function  (_arg1):Boolean{ var g = _arg1; if ((g is Block)){ return (true); }; try { if ( (g.parent)){ return (true); } else { return (false); }; } catch(e:Error) { return (false); }; return (false); } public function  ():void{ var _local1:uint; _local1 = 0; while (_local1 < this. .length) { ( [_local1] as Block).clearEvents(); _local1++; }; } public function missionBackToEditor(_arg1:GameEvents=null):void{ var _local2:GameAreaEvents; (); this.(); _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); _local2.gameAreaValue = GameAreaEvents.GAME_AREA_EDITOR; stage.dispatchEvent(_local2); } public function  (_arg1:GameEvents=null):void{  .removeEventListener("timer", );  .addEventListener("timer", );  .start(); } public function  (_arg1:Event=null):void{ } public function  (_arg1:Event=null):void{ if (GameAreaEvents.gameAreaType == GameAreaEvents.GAME_AREA_GAME){ pauseGame(true); }; if (GameAreaEvents.gameAreaType == GameAreaEvents.GAME_AREA_PREVIEW){ pauseGame(true); }; } public function clearEvents():void{ .stop(); .removeEventListener("timer", ); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_START,  ); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  ); stage.removeEventListener(GameEvents.GAME_BLOCK_CREATE, ); stage.removeEventListener(GameEvents.GAME_BLOCK_DELETE, ); stage.removeEventListener(GameEvents.GAME_MISSION_COMPLITE,  ); stage.removeEventListener(GameEvents.GAME_MISSION_FAIL, missionFail); stage.removeEventListener(GameEvents.GAME_CHECK_COMPLETE, ); stage.removeEventListener(Event.DEACTIVATE,  ); stage.removeEventListener(Event.ACTIVATE, ); this.removeEventListener(Event.ENTER_FRAME, iniGame); stage.removeEventListener(KeyboardEvent.KEY_DOWN,  ); stage.removeEventListener(KeyboardEvent.KEY_UP,  ); try { .removeEventListener("timer", finish); } catch(e:Error) { }; } public function getLevel():String{ var _local1:Array; var _local2:String; var _local3:uint; var _local4:String; var _local5:Block; var _local6:Object; var _local7:b2Vec2; _local1 = new Array(); _local2 = ("var arr:Array = new Array();" + String.fromCharCode(13)); _local2 = (_local2 + (("var block:Object;" + String.fromCharCode(13)) + String.fromCharCode(13))); _local3 = 0; while (_local3 <  .length) { _local5 = ( [_local3] as Block); _local6 = new Object(); _local6.type = _local5._object_type_block; _local6.pos = {x:_local5.x, y:_local5.y, rotation:_local5.rotation}; _local6.color = _local5._object_color; _local6.design = ((_local5._object_static == true)) ? false : true; _local6.active = ((_local5._object_static == true)) ? false : true; _local7 = _local5.gravity.Copy(); _local7.Normalize(); _local7.Multiply(_local5.gravity_kof); _local6.gravity = {x:_local7.x, y:_local7.y}; _local6.admin = _local5._object_admin; if ((((_local6.admin == false)) || ((Global._admin == true)))){ _local1.push(_local6); }; _local2 = (_local2 + ("block = new Object();" + String.fromCharCode(13))); _local2 = (_local2 + ((("block.type = " + _local6.type) + ";") + String.fromCharCode(13))); _local2 = (_local2 + (((((((("block.pos = " + "{x:") + Math.round(_local5.x)) + ",y:") + Math.round(_local5.y)) + ",rotation:") + Math.round(_local5.rotation)) + "};") + String.fromCharCode(13))); _local2 = (_local2 + ((("block.color = " + _local5._object_color) + ";") + String.fromCharCode(13))); _local2 = (_local2 + ((("block.design = " + _local6.design) + ";") + String.fromCharCode(13))); _local2 = (_local2 + ((("block.active = " + _local6.active) + ";") + String.fromCharCode(13))); _local2 = (_local2 + ((((("block.gravity = {x:" + Math.round(_local7.x)) + ", y:") + Math.round(_local7.y)) + "};") + String.fromCharCode(13))); _local2 = (_local2 + ("block.admin = true;" + String.fromCharCode(13))); _local2 = (_local2 + (("arr.push(block);" + String.fromCharCode(13)) + String.fromCharCode(13))); _local3++; }; _local4 = Global.crypt(_local1); return (_local4); } public function createLevel(_arg1:String="-1"):void{ var _local2:Number; var _local3:Number; var _local4:Event; var _local5:Boolean; var _local6:Number; var _local7:Array; (); _local4 = new GameEvents(GameEvents.GAME_CHANGE_GRAVITY_FINISH);  = GameEvents.GAME_CHANGE_GRAVITY_FINISH;   = true; stage.dispatchEvent(_local4);  = new Array();  = new Array(); _local5 = true; switch (GameAreaEvents.gameAreaType){ case GameAreaEvents.GAME_AREA_GAME: _local6 = Global._current_level; _arg1 = Global._levels[_local6]["block"]; _local5 = false; break; case GameAreaEvents.GAME_AREA_EDITOR: if (_arg1 == "-1"){ _arg1 = Global.testLevel; }; break; case GameAreaEvents.GAME_AREA_TEST: _arg1 = Global.testLevel; break; case GameAreaEvents.GAME_AREA_PREVIEW: _arg1 = Global.previewLevel; break; }; if (_arg1 == "-1"){  = new Array(); } else {  = (Global.uncrypt(_arg1) as Array); }; if ((Global._admin == false)){ if (_local5){ _local7 = (Global.uncrypt(Global.editorDefaultBorder) as Array); _local2 = 0; while (_local2 < _local7.length) {  .push(_local7[_local2]); _local2++; }; }; }; if (GameAreaEvents.gameAreaType != GameAreaEvents.GAME_AREA_EDITOR){ construction = new LevelConstruction(this,  ); }; _local2 = 0; while (_local2 <  .length) { ( [_local2],  [_local2].active); _local2++; }; if (GameAreaEvents.gameAreaType != GameAreaEvents.GAME_AREA_EDITOR){ (); }; if (GameAreaEvents.gameAreaType != GameAreaEvents.GAME_AREA_EDITOR){ design = new LevelDesign(this,  ); }; if (){ .up(); }; .start(); } private function (_arg1:GameEvents=null):void{ var _local2:Block; _local2 = (_arg1.gameValue as Block);  .push(_local2); } public function  (_arg1:GameEvents=null):void{ var _local2:GameAreaEvents; var _local3:GameEvents; (); this.(); Global.setLevelScore(1, ,  ); _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); if (Global.setNextLevel() == -1){ _local2.gameAreaValue = GameAreaEvents.GAME_AREA_WIN_INTRO; } else { _local2.gameAreaValue = GameAreaEvents.GAME_AREA_MAP; }; stage.dispatchEvent(_local2); _local3 = new GameEvents(GameEvents.GAME_OVER); stage.dispatchEvent(_local3); } private function iniGame(_arg1:Event):void{  = 0; (); Global.sound_game.playSound(null, "s_begin_level"); this.removeEventListener(Event.ENTER_FRAME, iniGame);  = new Timer(Global._iteratioins, 0);  = new Timer(100, 0); .addEventListener("timer", ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_START,  ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH,  ); stage.addEventListener(GameEvents.GAME_BLOCK_CREATE, ); stage.addEventListener(GameEvents.GAME_BLOCK_DELETE, ); stage.addEventListener(GameEvents.GAME_MISSION_COMPLITE,  ); stage.addEventListener(GameEvents.GAME_MISSION_FAIL, missionFail); stage.addEventListener(GameEvents.GAME_CHECK_COMPLETE, ); stage.addEventListener(Event.DEACTIVATE,  ); stage.addEventListener(Event.ACTIVATE, ); stage.addEventListener(KeyboardEvent.KEY_DOWN,  ); stage.addEventListener(KeyboardEvent.KEY_UP,  ); (); Global.iniBox2World(); createLevel(); trace(((this + " !!!!!!!!!!!!!! ") + this["bg_mc"])); (this["bg_mc"] as MovieClip).gotoAndStop(1); if (GameAreaEvents.GAME_AREA_GAME == GameAreaEvents.gameAreaType){ Global.iniGame(this); (this["bg_mc"] as MovieClip).gotoAndStop(Number(Global._levels[Global._current_level]["bg"]["skinName"]));   = new BlockShadows(this); }; if (GameAreaEvents.GAME_AREA_EDITOR == GameAreaEvents.gameAreaType){ (this["bg_mc"] as MovieClip).gotoAndStop(2);  = new EditorPanel(this); }; if (GameAreaEvents.GAME_AREA_TEST == GameAreaEvents.gameAreaType){  = new PublishPanel(this); }; if (GameAreaEvents.GAME_AREA_PREVIEW == GameAreaEvents.gameAreaType){  = new RatePanel(this); }; } } }//package com.gamezhero.game
Section 111
//GameTrack (com.gamezhero.game.GameTrack) package com.gamezhero.game { import flash.display.*; import com.gamezhero.events.*; import flash.filters.*; import flash.geom.*; import com.gamezhero.*; public class GameTrack extends MovieClip { private var  :Point; private var  :ColorMatrixFilter; private var how:uint;// = 0 private var  :Rectangle; private var :BlurFilter; private var :Bitmap; private var :BitmapData; private var :MovieClip; private var _goal:MovieClip; public function GameTrack(_arg1:MovieClip, _arg2:MovieClip){ how = 0; super(); _goal = _arg1;  = _arg2; _goal.addChildAt(this, 1); this.mouseEnabled = false; this.mouseChildren = false; ini(); } public function actionGameOver(_arg1:GameEvents=null):void{ remove(); } public function remove(_arg1:Boolean=true):void{ clearEvents(); _goal.removeChild(this); } public function ini():void{ stage.addEventListener(GameEvents.GAME_OVER, actionGameOver); stage.addEventListener(GameEvents.GAME_UPDATE, update); iniContruction(); } public function iniContruction():void{ var _local1:Array;  = new Rectangle(0, 0, Global._game_width, Global._game_height);  = new Point(0, 0);  = new BlurFilter();  = new ColorMatrixFilter(); _local1 = new Array(); _local1 = _local1.concat([0.9, 0, 0, 0, 0]); _local1 = _local1.concat([0, 0.9, 0, 0, 0]); _local1 = _local1.concat([0, 0, 0.9, 0, 0]); _local1 = _local1.concat([0, 0, 0, 0.8, 0]);  .matrix = _local1;  = new BitmapData(Global._game_width, Global._game_height, true, 0xFFFFFF);  = new Bitmap(, "auto", true); this.addChild(( as DisplayObject)); } public function update(_arg1:GameEvents=null):void{ .draw(); .applyFilter(,  ,  , ); .applyFilter(,  ,  ,  ); } public function clearEvents():void{ stage.removeEventListener(GameEvents.GAME_OVER, actionGameOver); stage.removeEventListener(GameEvents.GAME_UPDATE, update); } } }//package com.gamezhero.game
Section 112
//GravityArrow (com.gamezhero.game.GravityArrow) package com.gamezhero.game { import Box2D.Common.Math.*; import flash.events.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.geom.*; import com.gamezhero.*; public class GravityArrow extends Sprite { private var  :Number; public var arrow:MovieClip; private var  :MovieClip; private var  :Number; public var  :MovieClip; private var  :Number; private var  :b2Vec2; private var  :MovieClip; private var  :MovieClip; public var deleter:SimpleButton; private var  :Number;// = 0 public var arrow2:MovieClip; public var  :Boolean; public var colored:MovieClip; private var  :MovieClip; private var  :Number; private var  :Number; private var  :Number;// = 0 private var  :MovieClip; private var  :MovieClip; private var  :SimpleButton; private var  :Number;// = 0 private var  :Number; private var  :Timer; private var  :Number; public var circle:MovieClip; private var  :Number;// = 50 private var  :b2Vec2; public var turner:MovieClip; private var  :Number;// = 0 private var  :MovieClip; public function GravityArrow(_arg1:MovieClip){ var _local2:Point;   = 50;  = 0;   = (  -  );   = 0;   = 0;   = ( -  );  = 0; super();  = Global._box2d_max_mass_kof;   = (this["arrow"] as MovieClip);   = (this["arrow2"] as MovieClip);   = ( ["begun"] as MovieClip);   = (this["circle"] as MovieClip);  = (this["deleter"] as SimpleButton);  = (this["turner"] as MovieClip);  = (this["colored"] as MovieClip); if (Global._admin != true){  .visible = false; };  .mouseEnabled = false;  .mouseChildren = false;  .mouseEnabled = false;  .mouseChildren = false; if (GameAreaEvents.gameAreaType != GameAreaEvents.GAME_AREA_EDITOR){  .visible = false;  .visible = false;  .visible = false; }; this.mouseEnabled = false; this. = _arg1;   = ( .parent.parent as MovieClip);  .addChild(this); _local2 = new Point(stage.mouseX, stage.mouseY); _local2 =  .globalToLocal(_local2); this.  = _local2.x; this. = _local2.y; this.x =  .x; this.y =  .y;  (); iniEvents(); this.scaleX = 0; this.scaleY = 0; } public function changeGameEvent(_arg1:String, _arg2=null){ var _local3:GameEvents; _local3 = new GameEvents(_arg1); _local3.gameValue = _arg2; stage.dispatchEvent(_local3); } public function set power(_arg1:Number):void{ var _local2:Number;  = _arg1; _local2 = (Math.round(((( .totalFrames - 1) * ( -  )) /  )) + 1);  .gotoAndStop(_local2);  .width = ( .x * 2);  .height =  .width; } private function  (_arg1:GameEvents=null):void{ this.alpha = (this.alpha - 0.1); if (this.alpha <= 0){ this.alpha = 0; stage.removeEventListener(GameEvents.GAME_UPDATE,  ); remove(); }; } private function iniEvents():void{  .addEventListener(MouseEvent.MOUSE_DOWN,  );  .addEventListener(MouseEvent.MOUSE_DOWN,  ); stage.addEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH, startShowOut); stage.addEventListener(GameEvents.GAME_UPDATE,  );  .addEventListener(MouseEvent.MOUSE_DOWN,  );  .addEventListener(MouseEvent.CLICK,  ); } public function getImpulsLength():Number{ return ( ); } public function set point(_arg1:b2Vec2):void{   = _arg1; } private function  (_arg1:GameEvents=null):void{ this.scaleX = (this.scaleX + 0.2); if (this.scaleX >= 1){ stage.removeEventListener(GameEvents.GAME_UPDATE,  ); this.scaleX = 1; }; this.scaleY = this.scaleX; } public function  (_arg1:MouseEvent=null){  = !( ); ( as Block).setStatic(this. );  (); } public function startShowOut(_arg1:GameEvents=null):void{ this.clearEvents(); stage.addEventListener(GameEvents.GAME_UPDATE,  ); } public function get point():b2Vec2{ return ( ); } private function  (_arg1:MouseEvent=null):void{ var _local2:BitmapData; var _local3:uint; _local2 = new BitmapData( .width,  .height, true); _local2.draw( ); _local3 = _local2.getPixel( .mouseX,  .mouseY); trace(_local3); _local2.dispose(); if (_local3 != 0xFFFFFF){ ( as Block).changeSkin(_local3); }; } private function  (_arg1:MouseEvent=null):void{  .x =  .mouseX; if ( .x >  ){  .x =  ; };  (); } private function  (_arg1:MouseEvent=null):void{  .gotoAndPlay(6); stage.removeEventListener(MouseEvent.MOUSE_MOVE,  ); stage.removeEventListener(MouseEvent.MOUSE_UP,  ); } public function  (){  .gotoAndStop(((this. == true)) ? 1 : 2);  .visible = !(this. );  .visible = !(this. ); } public function get impuls():b2Vec2{ return ( ); } private function remove(_arg1:GameEvents=null):void{ var event = _arg1; clearEvents(); try {  .removeChild(this); } catch(e:Error) { trace("ERROR REMOVE GRAVITY ARROR"); }; } private function  (_arg1:MouseEvent=null):void{  .gotoAndPlay(2); stage.addEventListener(MouseEvent.MOUSE_MOVE,  ); stage.addEventListener(MouseEvent.MOUSE_UP,  ); } public function  ():void{ var _local1:Number; this.impuls = ( .gravity as b2Vec2).Copy(); this.power = (( .gravity_kof *  ) /  ); this. =  ._object_static; this.  =  .gravity_kof;  .rotation = Global.toAngle((impuls.getAngle() + Math.PI));  .rotation =  .rotation; turner.rotation =  .rotation;  (); _local1 = (Math.round(((( .totalFrames - 1) * ( -  )) /  )) + 1);  .gotoAndStop(_local1);  .x = this.power;  .width = ( .x * 2);  .height =  .width; } private function  (_arg1:MouseEvent=null){ this.changeGameEvent(GameEvents.GAME_BLOCK_DELETE,  ); } public function get power():Number{ return ( ); } private function clearEvents():void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE,  );  .removeEventListener(MouseEvent.MOUSE_DOWN,  );  .removeEventListener(MouseEvent.MOUSE_DOWN,  ); stage.removeEventListener(MouseEvent.MOUSE_UP,  ); stage.removeEventListener(GameEvents.GAME_CHANGE_GRAVITY_FINISH, startShowOut); stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.removeEventListener(GameEvents.GAME_UPDATE,  );  .removeEventListener(MouseEvent.CLICK,  );  .removeEventListener(MouseEvent.MOUSE_DOWN,  ); } private function  (){ var _local1:Point; var _local2:Point; var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Point; var _local8:Point;   = stage.mouseX;   = stage.mouseY; _local1 = new Point( ,  ); _local1 =  .localToGlobal(_local1); _local2 = new Point( ,  ); _local2 = this.globalToLocal(_local2); _local3 = new b2Vec2(_local2.x, _local2.y);  .rotation = Global.toAngle((_local3.getAngle() + Math.PI));  .rotation =  .rotation; turner.rotation =  .rotation; _local4 = _local3.Length(); if (_local4 >  ){ _local4 =  ; }; if (_local4 <  ){ _local4 =  ; }; this.power = _local4; _local5 = ((this.power -  ) /  ); _local6 = (  + (  * _local5)); _local7 = new Point(0, 0); _local7 = this.localToGlobal(_local7); point = new b2Vec2(Global.toWorldX(_local7.x), Global.toWorldX(_local7.y)); _local8 = new Point( ,  ); impuls = new b2Vec2(Global.toWorldX((_local8.x - _local7.x)), Global.toWorldY((_local8.y - _local7.y)));   = (this.power / (  /  )); impuls.Normalize(); } public function set impuls(_arg1:b2Vec2):void{   = _arg1; } } }//package com.gamezhero.game
Section 113
//IGameObject (com.gamezhero.game.IGameObject) package com.gamezhero.game { import com.gamezhero.events.*; public interface IGameObject { function ini(_arg1:Object, _arg2:Boolean=false):void; function clearEvents():void; function update(_arg1:GameEvents=null):void; function remove(_arg1:Boolean=true):void; function actionGameOver(_arg1:GameEvents=null):void; } }//package com.gamezhero.game
Section 114
//ItemSelector (com.gamezhero.game.ItemSelector) package com.gamezhero.game { import flash.events.*; import flash.display.*; import com.gamezhero.as3.*; import com.gamezhero.*; import flash.text.*; import com.gamezhero.gamearea.*; public class ItemSelector extends MovieClip { public var title_txt:TextField; public var amount_txt:TextField; public var bg:MovieClip; public var data_txt:TextField; public var stars:MovieClip; private var  :Object; public var author_txt:TextField; public var play_btn:SimpleButton; public function ItemSelector(){   = new Object(); super(); clear(); iniEvents(); } private function iniEvents():void{ (this["play_btn"] as SimpleButton).mouseEnabled = true; (this["play_btn"] as SimpleButton).addEventListener(MouseEvent.CLICK,  ); } public function enable():void{ clearEvents(); } private function  (_arg1:MouseEvent=null):void{ var _local2:String; _local2 = GamezheroGlobal.getDomain(stage); if ((((_local2 == "files.gamezhero.com")) || ((_local2 == "local")))){ (this.parent as gameFormSelectore).remotingStep3( ["level_id"]); } else { Global.getURL((( ["level_url"] + "&") + Global._urls["shared_levels"])); }; } public function clear():void{ this.visible = false; } public function update(_arg1):void{   = _arg1; if (Global._game_stored_data.data.completedLevels == undefined){ Global._game_stored_data.data.completedLevels = new Array(); }; trace((( ["level_id"] + " >>>>>>>>>>> ") + Global._game_stored_data.data.completedLevels[ ["level_id"]])); if (Global._game_stored_data.data.completedLevels[ ["level_id"]]){ (this["bg"] as MovieClip).gotoAndStop(2); } else { (this["bg"] as MovieClip).gotoAndStop(1); }; trace("1"); (this["title_txt"] as TextField).text =  ["level_name"]; (this["data_txt"] as TextField).text = ( ["level_date"] as String).substr(0, ( ["level_date"] as String).indexOf(" ")); (this["author_txt"] as TextField).text =  ["level_author"]; (this["amount_txt"] as TextField).text =  ["level_play_amount"]; trace("2"); (this["stars"] as MovieClip).gotoAndStop(Math.round((100 * ( ["level_rate"] / 5)))); this.visible = true; } private function clearEvents():void{ (this["play_btn"] as SimpleButton).mouseEnabled = false; (this["play_btn"] as SimpleButton).removeEventListener(MouseEvent.CLICK,  ); } } }//package com.gamezhero.game
Section 115
//LevelConstruction (com.gamezhero.game.LevelConstruction) package com.gamezhero.game { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.filters.*; import flash.geom.*; import com.gamezhero.*; public class LevelConstruction extends MovieClip implements IGameObject { private var :Array; private var :Array; private var :Dictionary; private var _goal:MovieClip; public function LevelConstruction(_arg1:MovieClip, _arg2:Array){  = new Array();  = new Dictionary(); super(); _goal = _arg1;  = _arg2;  = new Array(); ini(Object()); _goal.addChild(this); this.mouseEnabled = false; this.mouseChildren = false; } public function ini(_arg1:Object, _arg2:Boolean=false):void{ iniContruction(); } public function actionGameOver(_arg1:GameEvents=null):void{ remove(); } public function remove(_arg1:Boolean=true):void{ var i:uint; var _body:b2Body; var j:*; var gameOverFlag = _arg1; i = 0; while (i < .length) { _body = ([i] as b2Body); for (j in [_body]) { _body.DestroyShape(([_body][j] as b2Shape)); }; Global._box2d_world.DestroyBody(_body); i = (i + 1); }; clearEvents(); try { _goal.removeChild(this); } catch(e:Error) { trace("ERROR REMOVE LEVEL CONSTRUCTOR"); }; } public function iniContruction():void{ var mc:MovieClip; var i:uint; var light:MovieClip; var trees:MovieClip; var glow:GlowFilter; var w:Number; var h:Number; var _planet_bmp:*; var mc_bmp:MovieClip; var bm:Bitmap; var info:Object; var _object_type_block:uint; var _object_pos:Object; var _object_color:Number; var _object_design:Boolean; var _object_primitives:*; var _object_friction:*; var _object_restitution:*; var _object_density:*; var _object_skin_class:*; var ClassSkin:Class; var blk:MovieClip; var matrix:Array; var color:ColorTransform; var adjust:ColorMatrixFilter; var bodyDefP:b2BodyDef; var _body:b2Body; var j:uint; var btype:String; var polyDef:b2PolygonDef; var z:uint; var x_foo:Number; var y_foo:Number; mc = new MovieClip(); this.addChild(mc); i = 0; while (i < .length) { info = [i]; if (info.active == false){ _object_type_block = info.type; _object_pos = info.pos; _object_color = info.color; _object_design = info.design; info = Global.clone(Global._block_gallery[("block_type_" + _object_type_block)]); info.pos = _object_pos; info.color = _object_color; info.design = _object_design; _object_primitives = info.primitives; _object_friction = info.physics.friction; _object_restitution = info.physics.restitution; _object_density = info.physics.density; _object_skin_class = info.skinClass; ClassSkin = (getDefinitionByName(_object_skin_class) as Class); blk = new (ClassSkin); blk.x = _object_pos.x; blk.y = _object_pos.y; blk.rotation = _object_pos.rotation; (blk["design"] as DisplayObject).visible = ((_object_design)==true) ? true : false; try { (blk.shadow.shadow as MovieClip).rotation = -(blk.rotation); } catch(e:Error) { }; matrix = new Array(); color = new ColorTransform(); color.color = _object_color; matrix = matrix.concat([(color.redOffset / 0xFF), 0, 0, 0, 0]); matrix = matrix.concat([0, (color.greenOffset / 0xFF), 0, 0, 0]); matrix = matrix.concat([0, 0, (color.blueOffset / 0xFF), 0, 0]); matrix = matrix.concat([0, 0, 0, 1, 0]); adjust = new ColorMatrixFilter(matrix); blk.filters = [adjust]; mc.addChild(blk); bodyDefP = new b2BodyDef(); bodyDefP.position.Set(Global.toWorldX(_object_pos.x), Global.toWorldY(_object_pos.y)); bodyDefP.angle = Global.toRadian(_object_pos.rotation); _body = Global._box2d_world.CreateBody(bodyDefP); [_body] = new Array(); j = 0; while (j < _object_primitives.length) { btype = _object_primitives[j].type; switch (btype){ case "poligon": polyDef = new b2PolygonDef(); polyDef.vertexCount = _object_primitives[j].vertices.length; z = 0; while (z < _object_primitives[j].vertices.length) { x_foo = (_object_primitives[j].vertices[z].x + _object_primitives[j].x); y_foo = (_object_primitives[j].vertices[z].y + _object_primitives[j].y); polyDef.vertices[z].Set(Global.toWorldX(x_foo), Global.toWorldY(y_foo)); z = (z + 1); }; polyDef.density = 0; polyDef.friction = _object_friction; polyDef.restitution = _object_restitution; [_body].push(_body.CreateShape(polyDef)); break; }; j = (j + 1); }; _body.SetMassFromShapes(); _body.m_userData = {target:this, type:"construction"}; .push(_body); }; i = (i + 1); }; light = (new SunLight() as MovieClip); this.addChild(light); trees = (new Trees() as MovieClip); this.addChild(trees); glow = new GlowFilter(0, 0.5, 20, 20, 2, BitmapFilterQuality.HIGH, false, false); mc.filters = [glow]; w = Global._game_width; h = Global._game_height; _planet_bmp = new BitmapData(w, h, true, 0xFFFFFF); _planet_bmp.draw(this); mc_bmp = new MovieClip(); bm = new Bitmap(_planet_bmp, "auto", true); mc_bmp.addChild((bm as DisplayObject)); this.addChild(mc_bmp); this.removeChild(mc); this.removeChild(light); } public function update(_arg1:GameEvents=null):void{ } public function clearEvents():void{ stage.removeEventListener(GameEvents.GAME_OVER, actionGameOver); } } }//package com.gamezhero.game
Section 116
//LevelDesign (com.gamezhero.game.LevelDesign) package com.gamezhero.game { import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.filters.*; import flash.geom.*; import com.gamezhero.*; public class LevelDesign extends MovieClip implements IGameObject { private var :Array; private var _goal:MovieClip; public function LevelDesign(_arg1:MovieClip, _arg2:Array){ _goal = _arg1;  = _arg2; ini(Object()); _goal.addChildAt(this, 1); this.mouseEnabled = false; this.mouseChildren = false; } public function ini(_arg1:Object, _arg2:Boolean=false):void{ iniContruction(); } public function actionGameOver(_arg1:GameEvents=null):void{ remove(); } public function remove(_arg1:Boolean=true):void{ var gameOverFlag = _arg1; clearEvents(); try { _goal.removeChild(this); } catch(e:Error) { trace("ERROR REMOVE LEVEL DESIGNER"); }; } public function iniContruction():void{ var mc:MovieClip; var i:uint; var glow:GlowFilter; var w:Number; var h:Number; var _planet_bmp:*; var mc_bmp:MovieClip; var bm:Bitmap; var info:Object; var _object_pos:Object; var _object_color:Number; var _object_design:Boolean; var _object_type_block:uint; var _object_primitives:*; var _object_friction:*; var _object_restitution:*; var _object_density:*; var _object_skin_class:*; var ClassSkin:Class; var blk:MovieClip; var matrix:Array; var color:ColorTransform; var adjust:ColorMatrixFilter; var gfilter:GlowFilter; mc = new MovieClip(); this.addChild(mc); i = 0; while (i < .length) { info = [i]; if (info.active == true){ _object_pos = info.pos; _object_color = info.color; _object_design = info.design; _object_type_block = info.type; info = Global.clone(Global._block_gallery[("block_type_" + _object_type_block)]); info.pos = _object_pos; info.color = _object_color; info.design = _object_design; _object_primitives = info.primitives; _object_friction = info.physics.friction; _object_restitution = info.physics.restitution; _object_density = info.physics.density; _object_skin_class = info.skinClass; ClassSkin = (getDefinitionByName(_object_skin_class) as Class); blk = new (ClassSkin); blk.x = _object_pos.x; blk.y = _object_pos.y; blk.rotation = _object_pos.rotation; try { (blk.shadow.shadow as MovieClip).rotation = -(blk.rotation); } catch(e:Error) { }; mc.addChild(blk); matrix = new Array(); color = new ColorTransform(); color.color = _object_color; matrix = matrix.concat([(color.redOffset / 0xFF), 0, 0, 0, 0]); matrix = matrix.concat([0, (color.greenOffset / 0xFF), 0, 0, 0]); matrix = matrix.concat([0, 0, (color.blueOffset / 0xFF), 0, 0]); matrix = matrix.concat([0, 0, 0, 1, 0]); adjust = new ColorMatrixFilter(matrix); gfilter = new GlowFilter(0xFFFFFF, 0.9, 3, 3, 4, BitmapFilterQuality.HIGH, true, true); blk["body"].filters = [gfilter]; (blk["design"] as DisplayObject).visible = false; blk["body"].alpha = 0.25; blk["design"].alpha = 0.25; }; i = (i + 1); }; glow = new GlowFilter(0, 0.5, 20, 20, 2, BitmapFilterQuality.HIGH, false, false); mc.filters = [glow]; w = Global._game_width; h = Global._game_height; _planet_bmp = new BitmapData(w, h, true, 0xFFFFFF); _planet_bmp.draw(this); mc_bmp = new MovieClip(); bm = new Bitmap(_planet_bmp, "auto", true); mc_bmp.addChild((bm as DisplayObject)); this.addChild(mc_bmp); this.removeChild(mc); } public function update(_arg1:GameEvents=null):void{ } public function clearEvents():void{ stage.removeEventListener(GameEvents.GAME_OVER, actionGameOver); } } }//package com.gamezhero.game
Section 117
//ObjectOfGame (com.gamezhero.game.ObjectOfGame) package com.gamezhero.game { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.filters.*; import flash.geom.*; import com.gamezhero.*; public class ObjectOfGame extends MovieClip { public var _object_pos:Object; public var _object_density:Number; public var _object_restitution:Number; public var _object_square:uint; public var _object_admin:Boolean; public var :Number; public var _object_action:String; public var :Boolean; public var :Object; public var :Number; public var  :String; public var _body:b2Body; public var _object_color:Number; public var _object_friction:Number; public var _object_skin:MovieClip; public var _object_type_block:uint; public var _object_design:Boolean; public var _object_skin_class:String; public var _object_primitives:Array; public var _goal:MovieClip; public function ObjectOfGame(_arg1:MovieClip, _arg2:Object){ _object_primitives = new Array(); super(); _goal = _arg1;  = _arg2; _object_type_block = ["type"]; trace(((("BLOCK !!!! " + _object_type_block) + " ") + ["type"])); _object_pos = ["pos"]; _object_color = ["color"]; _object_design = ["design"]; _object_admin = ["admin"];  = Global.clone(Global._block_gallery[("block_type_" + _object_type_block)]); .pos = _object_pos; .color = _object_color; .design = _object_design; _object_friction = ["physics"].friction;  = ["physics"].mass; _object_density = ["physics"].density; _object_restitution = ["physics"].restitution; _object_square = ["square"];  = ["fixed"]; _object_primitives = ["primitives"]; _object_skin_class = ["skinClass"];  = ["score"]; MovieClip(_goal["gameContainer"]).addChild(this); } public function updateSkin(_arg1:Boolean=false):void{ var v:b2Vec2; var rolling = _arg1; v = (_body as b2Body).GetPosition(); this.x = Global.fromWorldX(v.x); this.y = Global.fromWorldY(v.y); this.rotation = Global.toAngle((_body as b2Body).GetAngle()); try { (_object_skin.shadow.shadow as MovieClip).rotation = -(this.rotation); } catch(e:Error) { }; } public function ini(_arg1:Object, _arg2:Boolean=false):void{ var ClassSkin:Class; var obj = _arg1; var how = _arg2; try { ClassSkin = (getDefinitionByName(_object_skin_class) as Class); if (ClassSkin != null){ _object_skin = MovieClip(new (ClassSkin)); this.addChild(_object_skin); _object_skin.mouseEnabled = false; _object_skin.mouseChildren = false; changeSkin(_object_color); changeDesign(); }; } catch(e:Error) { trace("ERROR ATTCAH ", _object_skin_class, " SKIN"); return; }; updateSkin(); stage.addEventListener(GameEvents.GAME_OVER, actionGameOver); } public function actionGameOver(_arg1:GameEvents=null):void{ remove(); } public function (_arg1:GameEvents):void{ var _local2:GameEvents; _local2 = new GameEvents(String(_arg1)); _local2.gameValue = this; stage.dispatchEvent(_local2); } public function  ():void{ MovieClip(_goal["gameContainer"]).setChildIndex(this, (MovieClip(_goal["gameContainer"]).numChildren - 1)); } public function changeDesign():void{ (_object_skin["design"] as MovieClip).visible = ((_object_design)==true) ? true : false; } public function  ():Point{ var _local1:b2Vec2; _local1 = (_body as b2Body).GetPosition(); return (new Point(_local1.x, _local1.y)); } public function changeSkin(_arg1:Number=-1):void{ var _local2:ColorTransform; var _local3:Array; var _local4:ColorMatrixFilter; if (_arg1 != -1){ _object_color = _arg1; }; _local2 = new ColorTransform(); _local2.color = _object_color; trace((">>>>>>>>>>>>>>>>> " + _object_color)); _local3 = new Array(); _local3 = _local3.concat([(_local2.redOffset / 0xFF), 0, 0, 0, 0]); _local3 = _local3.concat([0, (_local2.greenOffset / 0xFF), 0, 0, 0]); _local3 = _local3.concat([0, 0, (_local2.blueOffset / 0xFF), 0, 0]); _local3 = _local3.concat([0, 0, 0, 1, 0]); _local4 = new ColorMatrixFilter(_local3); (_object_skin["body"] as MovieClip).filters = [_local4]; } public function ():void{ _object_pos = new Point(this.x, this.y); _object_pos = _goal["gameContainer"].localToGlobal(_object_pos); } public function remove(_arg1:Boolean=true):void{ clearEvents(); } public function ():void{ MovieClip(_goal["gameContainer"]).removeChild(this); MovieClip(_goal["gameContainer"]).addChild(this); } public function clearEvents():void{ stage.removeEventListener(GameEvents.GAME_OVER, actionGameOver); } public function changeGameEvent(_arg1:String, _arg2=null){ var _local3:GameEvents; _local3 = new GameEvents(_arg1); _local3.gameValue = _arg2; stage.dispatchEvent(_local3); } } }//package com.gamezhero.game
Section 118
//PowerArrow (com.gamezhero.game.PowerArrow) package com.gamezhero.game { import Box2D.Common.Math.*; import flash.display.*; import flash.utils.*; import com.gamezhero.events.*; import flash.geom.*; import com.gamezhero.*; public class PowerArrow extends Sprite { private var  :Number; public var arrow:MovieClip; private var  :Number; private var  :MovieClip; private var  :Number; private var  :b2Vec2; private var  :Number;// = 0 private var  :MovieClip; private var  :Number; private var  :Number; private var  :MovieClip; private var  :Number;// = 0 private var  :Number;// = 3 private var  :Timer; private var  :Number; private var  :Number;// = 100 private var  :b2Vec2; private var  :Number;// = 0 private var  :MovieClip; public function PowerArrow(_arg1:MovieClip){ var _local2:Point;   = 100;  = 0;   = (  -  );  = 3;   = 0;   = ( -  );  = 0; super();   = (this["arrow"] as MovieClip); this. = _arg1; this.power =  ;  .parent.parent.addChild(this); _local2 = new Point(stage.mouseX, stage.mouseY); _local2 =  .globalToLocal(_local2); this.  = _local2.x; this. = _local2.y; this.x = -1000; this.y = -1000; this.visible = false; this.mouseChildren = false; this.mouseEnabled = false; iniEvents(); } public function stopAction():void{ clearEvents(); stage.addEventListener(GameEvents.GAME_UPDATE,  ); } public function set point(_arg1:b2Vec2):void{   = _arg1; } public function set power(_arg1:Number):void{ var _local2:Number;  = _arg1; _local2 = (Math.round(((( .totalFrames - 1) * ( -  )) /  )) + 1);  .gotoAndStop(_local2);  .line.gotoAndPlay((( .line as MovieClip).currentFrame + 1)); } private function iniEvents():void{ stage.addEventListener(GameEvents.GAME_UPDATE,  ); stage.addEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); this.visible = true; } public function get power():Number{ return ( ); } public function remove():void{ stage.addEventListener(GameEvents.GAME_UPDATE,  ); } public function get point():b2Vec2{ return ( ); } public function get impuls():b2Vec2{ return ( ); } private function clearEvents():void{ stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.removeEventListener(GameEvents.GAME_UPDATE,  ); stage.removeEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); } private function  (_arg1:GameEvents=null):void{  (); } private function  (_arg1:GameEvents=null){ var _local2:Point; var _local3:Point; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; var _local9:Point; _local2 = new Point( ,  ); _local2 =  .localToGlobal(_local2); this.x = _local2.x; this.y = _local2.y; _local3 = new Point( ,  ); _local3 = this.globalToLocal(_local3); _local4 = new b2Vec2(_local3.x, _local3.y);  .rotation = Global.toAngle((_local4.getAngle() + Math.PI)); _local5 = _local4.Length(); if (_local5 >  ){ _local5 =  ; }; if (_local5 <  ){ _local5 =  ; }; this.power = _local5; _local6 = ((this.power -  ) /  ); _local7 = (  + (  * _local6)); _local8 = new Point(0, 0); _local8 = this.localToGlobal(_local8); point = new b2Vec2(Global.toWorldX(_local8.x), Global.toWorldX(_local8.y)); _local9 = new Point( ,  ); impuls = new b2Vec2(Global.toWorldX((_local9.x - _local8.x)), Global.toWorldY((_local9.y - _local8.y))); impuls.Normalize(); impuls.Multiply(_local7); } public function  ():void{ clearEvents(); try {  .parent.parent.removeChild(this); } catch(e:Error) { }; } public function set impuls(_arg1:b2Vec2):void{   = _arg1; } private function  (_arg1:GameEvents=null){ this.alpha = (this.alpha - 0.2); if (this.alpha <= 0){  (); }; } private function  (_arg1:GameEvents=null){ var event = _arg1; try {   = stage.mouseX;   = stage.mouseY; } catch(e:Error) { };  (); } } }//package com.gamezhero.game
Section 119
//PublishPanel (com.gamezhero.game.PublishPanel) package com.gamezhero.game { import flash.events.*; import com.gamezhero.as3.remoting.structure.*; import flash.display.*; import com.gamezhero.events.*; import caurina.transitions.*; import com.gamezhero.as3.remoting.events.*; import com.gamezhero.as3.remoting.*; import com.gamezhero.*; import flash.text.*; import flash.system.*; public class PublishPanel extends MovieClip { public var  :SimpleButton; public var  :TextField; public var remotingLevelGateway:RemotingLevelsGateway; public var  :SimpleButton; public var menu:MovieClip; public var menu_mc:MovieClip; public var  :TextField; public var  :Number;// = 0 public var  :TextField; private var g:MovieClip; public var gameID:Number; public var  :TextField; public var  :TextField; public var  :Number;// = 10 public function PublishPanel(_arg1:MovieClip){ gameID = Global.editorGameID;   = 10;  = 0; super(); g = _arg1; menu_mc = this["menu"];   = (menu_mc["info"] as TextField);   = (menu_mc["text"] as TextField);  = (menu_mc["puzzle_title"] as TextField);   = (menu_mc["user_name"] as TextField);   = (menu_mc["user_email"] as TextField);   = (menu_mc["exit_btn"] as SimpleButton);  = (menu_mc["bublish_btn"] as SimpleButton);  .mouseEnabled = false;  .alpha = 0.5; g.addChild(this);  (); iniEvents(); } private function  ():void{ try { remotingLevelGateway.removeEventListener(RemotingLevelsEvent.SET_LEVEL,  ); remotingLevelGateway.removeEventListener(RemotingLevelsEvent.ERROR, errorResult); } catch(e:Error) { trace("ERROR 3"); }; } public function  (_arg1:RemotingLevelsEvent=null):void{ var _local2:*;  .text = "Published. Dirst link to level listed above."; clearEvents();  ();  .addEventListener(MouseEvent.CLICK,  ); _local2 = _arg1.value;  .text = String(_local2);  (); } private function  ():void{ Tweener.addTween(this, {y:115, time:1, transition:"easeOutExpo"}); } public function focusText(_arg1:MouseEvent=null):void{ var _local2:TextField; trace("FOCUS IN"); if (_arg1 == null){ _local2 =  ; } else { _local2 = (_arg1.target as TextField); }; _local2.setSelection(0, _local2.text.length); System.setClipboard(_local2.text); } private function iniEvents():void{  .addEventListener(MouseEvent.CLICK,  );  .addEventListener(MouseEvent.CLICK,  ); stage.addEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  );  .addEventListener(MouseEvent.CLICK, focusText); } private function  ():void{ Tweener.addTween(this, {y:150, time:1, transition:"easeOutExpo"}); } private function  (_arg1:MouseEvent=null):void{ clearEvents();  (); (g as Game).missionBackToEditor(); } public function errorResult(_arg1:RemotingLevelsEvent=null):void{ trace("ERROR errorResult");  .text = "Error Loading Data..."; clearEvents();  ();  ();  .addEventListener(MouseEvent.CLICK,  ); } private function  (_arg1:GameEvents=null):void{  .text = Global.testLevel;  .mouseEnabled = true;  .alpha = 1;  (); } private function  ():void{ try { remotingLevelGateway = new RemotingLevelsGateway("http://www.gamezhero.com/chat/gateway.php"); remotingLevelGateway.addEventListener(RemotingLevelsEvent.SET_LEVEL,  ); remotingLevelGateway.addEventListener(RemotingLevelsEvent.ERROR, errorResult); } catch(e:Error) { trace("ERROR 1");  .text = "Error Loading Data..."; }; } public function up():void{ g.removeChild(this); g.addChild(this); } private function clearEvents():void{  .removeEventListener(MouseEvent.CLICK,  );  .removeEventListener(MouseEvent.CLICK,  ); stage.removeEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); } private function  (_arg1:MouseEvent=null):void{ var l_structure:LevelStructure; var event = _arg1; clearEvents();  .mouseEnabled = false;  .alpha = 0.5;  .text = "Wait..."; l_structure = new LevelStructure( .text, Global.testLevel,  .text,  .text, 0); try { remotingLevelGateway.setLevel(gameID, -1, l_structure); } catch(e:Error) { trace("ERROR 2");  (); }; } } }//package com.gamezhero.game
Section 120
//RatePanel (com.gamezhero.game.RatePanel) package com.gamezhero.game { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import caurina.transitions.*; import com.gamezhero.as3.remoting.events.*; import com.gamezhero.as3.remoting.*; import com.gamezhero.*; public class RatePanel extends MovieClip { public var remotingLevelGateway:RemotingLevelsGateway; public var menu:MovieClip; public var menu_mc:MovieClip; private var g:MovieClip; public var gameID:Number; public function RatePanel(_arg1:MovieClip){ gameID = Global.editorGameID; super(); g = _arg1; menu_mc = this["menu"]; g.addChild(this);  (); iniEvents(); } public function  (_arg1:RemotingLevelsEvent=null):void{ var _local2:*; clearEvents();  (); _local2 = _arg1.value;  (); } private function iniEvents():void{ var _local1:uint; stage.addEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); _local1 = 1; while (_local1 <= 5) { (menu_mc[("s" + _local1)] as MovieClip).mouseChildren = false; (menu_mc[("s" + _local1)] as MovieClip).addEventListener(MouseEvent.ROLL_OVER,  ); (menu_mc[("s" + _local1)] as MovieClip).addEventListener(MouseEvent.ROLL_OUT,  ); (menu_mc[("s" + _local1)] as MovieClip).addEventListener(MouseEvent.CLICK,  ); _local1++; }; } private function  (_arg1:MouseEvent=null):void{ var _local2:*; var _local3:uint; _local2 = Number((_arg1.target as MovieClip).name.substr(1)); _local3 = 1; while (_local3 <= 5) { (menu_mc[("s" + _local3)] as MovieClip).gotoAndStop(((_local3)<=_local2) ? 2 : 1); _local3++; }; } private function  (_arg1:Number):void{ var num = _arg1; clearEvents(); try { remotingLevelGateway.setLevelRate(gameID, Global.previewLevelID, num); } catch(e:Error) { trace("ERROR 2");  (); }; } private function  (_arg1:MouseEvent=null):void{ var _local2:uint; _local2 = 1; while (_local2 <= 5) { (menu_mc[("s" + _local2)] as MovieClip).gotoAndStop(1); _local2++; }; } private function  (_arg1:MouseEvent=null):void{ clearEvents();  (); (g as Game).missionPreviewComplite(); } private function errorResult(_arg1:RemotingLevelsEvent=null):void{ trace("ERROR errorResult"); clearEvents();  ();  (); } private function  ():void{ Tweener.addTween(this, {y:350, time:1, transition:"easeOutExpo"}); } private function  (_arg1:GameEvents=null):void{  (); } private function  ():void{ try { remotingLevelGateway = new RemotingLevelsGateway("http://www.gamezhero.com/chat/gateway.php"); remotingLevelGateway.addEventListener(RemotingLevelsEvent.SET_LEVEL_RATE,  ); remotingLevelGateway.addEventListener(RemotingLevelsEvent.ERROR, errorResult); } catch(e:Error) { trace("ERROR 1"); }; } public function up():void{ g.removeChild(this); g.addChild(this); } private function clearEvents():void{ var _local1:uint; stage.removeEventListener(GameEvents.GAME_PUZZLE_COMPLETE,  ); _local1 = 1; while (_local1 <= 5) { (menu_mc[("s" + _local1)] as MovieClip).removeEventListener(MouseEvent.ROLL_OVER,  ); (menu_mc[("s" + _local1)] as MovieClip).removeEventListener(MouseEvent.ROLL_OUT,  ); (menu_mc[("s" + _local1)] as MovieClip).removeEventListener(MouseEvent.CLICK,  ); _local1++; }; } private function  (_arg1:MouseEvent=null):void{ var _local2:*; _local2 = Number((_arg1.target as MovieClip).name.substr(1)); trace(((_arg1.target.name + " CKICK ") + _local2));  (_local2); } private function  ():void{ try { remotingLevelGateway.removeEventListener(RemotingLevelsEvent.SET_LEVEL_RATE,  ); remotingLevelGateway.removeEventListener(RemotingLevelsEvent.ERROR, errorResult); } catch(e:Error) { trace("ERROR 3"); }; } } }//package com.gamezhero.game
Section 121
//gameForm (com.gamezhero.gamearea.gameForm) package com.gamezhero.gamearea { import flash.display.*; import com.gamezhero.events.*; public class gameForm extends MovieClip { public function gameForm(){ ini(); } public function ini():void{ } public function changeGameAreaEvent(_arg1:String):void{ var _local2:GameAreaEvents; _local2 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); _local2.gameAreaValue = _arg1; stage.dispatchEvent(_local2); } public function clearEvents():void{ } } }//package com.gamezhero.gamearea
Section 122
//gameFormLanguage (com.gamezhero.gamearea.gameFormLanguage) package com.gamezhero.gamearea { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.*; import flash.text.*; public class gameFormLanguage extends gameForm { public var italicBth:SimpleButton; public var info_text:TextField; public var brazileBth:SimpleButton; public var frenchBth:SimpleButton; public var mexicoBth:SimpleButton; public var spanishBth:SimpleButton; public var russianBth:SimpleButton; public var australiaBth:SimpleButton; public var polandBth:SimpleButton; public var englishBth:SimpleButton; public var ukraineBth:SimpleButton; public var portugeseBth:SimpleButton; public var germanBth:SimpleButton; public static var arr:Array = new Array(); public static var ESP:String = "ESP"; public static var UKR:String = "UKR"; public static var POL:String = "POL"; public static var RUS:String = "RUS"; public static var PRT:String = "PRT"; public static var DEU:String = "DEU"; public static var FRA:String = "FRA"; public static var ITA:String = "ITA"; public static var ENG:String = "ENG"; public function gameFormLanguage(){ addFrameScript(0, frame1); super(); } public function iniEvents():void{ var _local1:String; var _local2:SimpleButton; for (_local1 in arr) { _local2 = (this[_local1] as SimpleButton); _local2.addEventListener(MouseEvent.CLICK, ); _local2.addEventListener(MouseEvent.ROLL_OVER, overBtn); _local2.addEventListener(MouseEvent.ROLL_OUT, outBtn); }; } public function outBtn(_arg1:MouseEvent):void{ var _local2:SimpleButton; _local2 = (_arg1.target as SimpleButton); (this["info_text"] as TextField).text = ""; } function frame1(){ } public function (_arg1:MouseEvent=null):void{ var _local2:SimpleButton; Global.sound_interface.playSound(null, "s_click"); clearEvents(); _local2 = (_arg1.target as SimpleButton); Global._language = arr[_local2.name][2]; super.changeGameAreaEvent(GameAreaEvents.GAME_AREA_MENU); } override public function clearEvents():void{ var _local1:String; var _local2:SimpleButton; for (_local1 in arr) { _local2 = (this[_local1] as SimpleButton); _local2.removeEventListener(MouseEvent.CLICK, ); _local2.removeEventListener(MouseEvent.ROLL_OVER, overBtn); _local2.removeEventListener(MouseEvent.ROLL_OUT, outBtn); }; } override public function ini():void{ super.ini(); iniEvents(); } public function overBtn(_arg1:MouseEvent):void{ var _local2:SimpleButton; Global.sound_interface.playSound(null, "s_over"); _local2 = (_arg1.target as SimpleButton); (this["info_text"] as TextField).text = arr[_local2.name][1]; } public static function checkLanguage(_arg1:String):Boolean{ var _local2:String; var _local3:Number; for (_local2 in arr) { _local3 = (arr[_local2] as Array).indexOf(_arg1); if (_local3 != -1){ return (true); }; }; return (false); } arr["englishBth"] = ["США и Британия", "English", ENG]; arr["spanishBth"] = ["Испания", "Español", ESP]; arr["italicBth"] = ["Италия", "Italiana", ITA]; arr["russianBth"] = ["Россия", "Русский", RUS]; arr["germanBth"] = ["Германия", "Deutsche", DEU]; arr["frenchBth"] = ["Франция", "Français", FRA]; arr["portugeseBth"] = ["Португалия", "Portuguesa", PRT]; arr["brazileBth"] = ["Бразилия", "Portuguesa", PRT]; arr["mexicoBth"] = ["Мексика", "Español", ESP]; arr["ukraineBth"] = ["Украина", "Українська", UKR]; arr["australiaBth"] = ["Австалия", "English", ENG]; arr["polandBth"] = ["Польша", "Polski", POL]; } }//package com.gamezhero.gamearea
Section 123
//gameFormMainMenu (com.gamezhero.gamearea.gameFormMainMenu) package com.gamezhero.gamearea { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.*; import flash.text.*; public class gameFormMainMenu extends gameForm { public var putThisGameText_mc:putThisGametext; public var viewTopScoreBtn:SimpleButton; public var sendToFriendsBtn:SimpleButton; public var playGameBtn:SimpleButton; public var youtubeBtn:SimpleButton; public var arr:Array; public var putGameBtn:SimpleButton; public var gamezheroBtn:SimpleButton; public var editorBtn:SimpleButton; public var playMoreGamesBtn:SimpleButton; public var selectorBtn:SimpleButton; public var copyright_txt:TextField; public function gameFormMainMenu(){ arr = new Array(); Global._current_level = 0; Global.clearAll(); arr["sendToFriendsBtn"] = {action:"link", value:Global._urls["send_to_friends"]}; arr["viewTopScoreBtn"] = {action:"link", value:Global._urls["view_top_score"]}; arr["putGameBtn"] = {action:"link", value:Global._urls["put_this_game"]}; arr["gamezheroBtn"] = {action:"link", value:Global._urls["zorro_logo"]}; arr["playMoreGamesBtn"] = {action:"link", value:Global._urls["play_more_games"]}; arr["editorBtn"] = {action:"game", value:GameAreaEvents.GAME_AREA_EDITOR}; arr["selectorBtn"] = {action:"game", value:GameAreaEvents.GAME_AREA_SELECTOR}; arr["playGameBtn"] = {action:"game", value:GameAreaEvents.GAME_AREA_MAP}; arr["youtubeBtn"] = {action:"link", value:Global._urls["youtube"]}; super(); } public function iniEvents():void{ var _local1:String; var _local2:*; for (_local1 in arr) { _local2 = this[_local1]; _local2.addEventListener(MouseEvent.CLICK, action); _local2.addEventListener(MouseEvent.ROLL_OVER, overBtn); }; } public function action(_arg1:MouseEvent=null):void{ var _local2:String; var _local3:Object; Global.sound_interface.playSound(null, "s_click"); _local2 = _arg1.target.name; _local3 = arr[_local2]; switch (_local3.action){ case "link": Global.getURL(_local3.value); break; case "game": super.changeGameAreaEvent(_local3.value); clearEvents(); break; }; } override public function clearEvents():void{ var _local1:String; var _local2:*; for (_local1 in arr) { _local2 = this[_local1]; _local2.removeEventListener(MouseEvent.CLICK, action); _local2.removeEventListener(MouseEvent.ROLL_OVER, overBtn); }; } override public function ini():void{ super.ini(); (this["copyright_txt"] as TextField).htmlText = Global._urls["copyright"]; iniEvents(); } public function overBtn(_arg1:MouseEvent=null):void{ var _local2:String; Global.sound_interface.playSound(null, "s_over"); _local2 = _arg1.target.name; } } }//package com.gamezhero.gamearea
Section 124
//gameFormMap (com.gamezhero.gamearea.gameFormMap) package com.gamezhero.gamearea { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.*; import flash.text.*; public class gameFormMap extends gameForm { public var l0:MovieClip; public var l1:MovieClip; public var l5:MovieClip; public var l4:MovieClip; public var l7:MovieClip; public var arr:Array; public var l6:MovieClip; public var l2:MovieClip; public var mainMenuBtn:SimpleButton; public var l15:MovieClip; public var l16:MovieClip; public var l13:MovieClip; public var l9:MovieClip; public var scoreInfo:TextField; public var l14:MovieClip; public var l22:MovieClip; public var l10:MovieClip; public var l12:MovieClip; public var l20:MovieClip; public var playMoreGamesBtn:SimpleButton; public var l24:MovieClip; public var l11:MovieClip; public var l21:MovieClip; public var l18:MovieClip; public var l23:MovieClip; public var l8:MovieClip; public var l19:MovieClip; public var l3:MovieClip; public var l17:MovieClip; public function gameFormMap(){ var _local1:uint; var _local2:String; arr = new Array(); _local1 = 0; while (_local1 < Global._max_level) { _local2 = ("l" + _local1); arr[_local2] = {action:"game", value:GameAreaEvents.GAME_AREA_GAME, index:_local1, how:false}; _local1++; }; arr["mainMenuBtn"] = {action:"game", value:GameAreaEvents.GAME_AREA_MENU, how:true}; arr["playMoreGamesBtn"] = {action:"link", value:Global._urls["play_more_games"], how:true}; super(); } public function iniEvents():void{ var _local1:String; var _local2:*; var _local3:uint; var _local4:SimpleButton; _local3 = 0; while (_local3 < Global._max_level) { _local1 = ("l" + _local3); _local2 = this[_local1]; if (Global._game_stored_data.data["map"][_local3].lock == false){ if (Global._win[_local3]){ _local2.gotoAndStop("win"); _local2.level.text = Global._win[_local3]; } else { _local2.gotoAndStop("play"); }; _local2.addEventListener(MouseEvent.CLICK, action); _local2.addEventListener(MouseEvent.ROLL_OVER, overBtn); (_local2 as MovieClip).mouseChildren = false; (_local2 as MovieClip).buttonMode = true; (_local2 as MovieClip).useHandCursor = true; } else { _local2.gotoAndStop("lock"); }; _local3++; }; for (_local1 in arr) { if (arr[_local1].how == true){ _local4 = this[_local1]; _local4.addEventListener(MouseEvent.CLICK, action); _local4.addEventListener(MouseEvent.ROLL_OVER, overBtn); }; }; } public function action(_arg1:MouseEvent=null):void{ var _local2:String; var _local3:Object; Global.sound_interface.playSound(null, "s_click"); _local2 = _arg1.target.name; _local3 = arr[_local2]; switch (_local3.action){ case "link": Global.getURL(_local3.value); break; case "game": if (!isNaN(_local3.index)){ Global._current_level = Number(_local3.index); Global.iniLevel(); super.changeGameAreaEvent(_local3.value); } else { if (Global.getGlobalScore() == 0){ super.changeGameAreaEvent(_local3.value); } else { super.changeGameAreaEvent(GameAreaEvents.GAME_AREA_SCORE); }; }; clearEvents(); break; }; } override public function clearEvents():void{ var _local1:String; var _local2:*; for (_local1 in arr) { _local2 = this[_local1]; _local2.removeEventListener(MouseEvent.CLICK, action); _local2.removeEventListener(MouseEvent.ROLL_OVER, overBtn); }; } override public function ini():void{ var _local1:uint; super.ini(); if (Global._game_stored_data.data["map"] == undefined){ Global._game_stored_data.data["map"] = new Array(); _local1 = 0; while (_local1 < Global._max_level) { Global._game_stored_data.data["map"][_local1] = {lock:true}; if (_local1 == 0){ Global._game_stored_data.data["map"][_local1].lock = false; }; _local1++; }; }; iniEvents(); (this["scoreInfo"] as TextField).text = (Global._bonus_info as String); Global._bonus_info = ""; } public function overBtn(_arg1:MouseEvent=null):void{ var _local2:String; Global.sound_interface.playSound(null, "s_over"); _local2 = _arg1.target.name; } } }//package com.gamezhero.gamearea
Section 125
//gameFormScore (com.gamezhero.gamearea.gameFormScore) package com.gamezhero.gamearea { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.as3.*; import com.gamezhero.*; public class gameFormScore extends gameForm { public var arr:Array; public function gameFormScore(){ arr = new Array(); super(); } public function iniEvents():void{ var _local1:String; var _local2:*; for (_local1 in arr) { _local2 = (this[_local1] as SimpleButton); _local2.addEventListener(MouseEvent.CLICK, action); _local2.addEventListener(MouseEvent.ROLL_OVER, overBtn); }; } public function action(_arg1:MouseEvent=null):void{ var _local2:String; var _local3:Object; Global.sound_interface.playSound(null, "s_click"); _local2 = _arg1.target.name; _local3 = arr[_local2]; switch (_local3.action){ case "link": Global.getURL(_local3.value); break; case "game": clearEvents(); super.changeGameAreaEvent(_local3.value); break; }; } public function errorAction(_arg1:Event=null):void{ trace("YORE CODE AFTER ERROR ACTION"); clearEvents(); super.changeGameAreaEvent(GameAreaEvents.GAME_AREA_MENU); } public function submitAction(_arg1:Event=null):void{ trace("YORE CODE AFTER SUBMIT ACTION"); clearEvents(); super.changeGameAreaEvent(GameAreaEvents.GAME_AREA_MENU); } public function continueAction(_arg1:Event=null):void{ trace("YORE CODE AFTER CONTINUE ACTION"); clearEvents(); super.changeGameAreaEvent(GameAreaEvents.GAME_AREA_MENU); } override public function clearEvents():void{ var _local1:String; var _local2:*; for (_local1 in arr) { _local2 = (this[_local1] as SimpleButton); _local2.removeEventListener(MouseEvent.CLICK, action); _local2.removeEventListener(MouseEvent.ROLL_OVER, overBtn); }; } override public function ini():void{ var _local1:Boolean; var _local2:uint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Object; var _local7:SubmitArea; super.ini(); iniEvents(); _local1 = true; _local2 = 0; while (_local2 < Global._max_level) { if ((((Global._win[_local2] == false)) || ((Global._win[_local2] == undefined)))){ _local1 = false; break; }; _local2++; }; if (_local1 == true){ this.gotoAndStop("win"); } else { this.gotoAndStop("lost"); }; GamezheroGlobal.gameName = "incablocks"; GamezheroGlobal.gameCode = "200152211150174159201213212086197194154173167207209154153153163161196209168157153210155175160151152161083146149"; _local3 = Global.getGlobalScore(); _local4 = 150; _local5 = 145; _local6 = {border:{width:4, color:0xFFFFFF, alpha:20}, background:{topColor:0x999999, bottomColor:0x666666, topAlpha:20, bottomAlpha:40, cornerRadius:10}, language:"ENG"}; _local7 = new SubmitArea(this, _local4, _local5, _local3, _local6); _local7.addEventListener(SubmitArea.SUBMITED, submitAction); _local7.addEventListener(SubmitArea.CONTINUE, continueAction); _local7.addEventListener(SubmitArea.ERROR, errorAction); } public function overBtn(_arg1:MouseEvent=null):void{ var _local2:String; Global.sound_interface.playSound(null, "s_over"); _local2 = _arg1.target.name; } } }//package com.gamezhero.gamearea
Section 126
//gameFormSelectore (com.gamezhero.gamearea.gameFormSelectore) package com.gamezhero.gamearea { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.as3.remoting.events.*; import com.gamezhero.as3.remoting.*; import com.gamezhero.*; import com.gamezhero.game.*; import flash.text.*; public class gameFormSelectore extends gameForm { private var :uint;// = 8 private var :uint;// = 0 public var prev_btn:SimpleButton; public var arr:Array; public var preloader:MovieClip; public var prev2_btn:SimpleButton; public var recent_btn:MovieClip; public var mainMenuBtn:SimpleButton; private var  :Number; private var :uint;// = 7 public var info:TextField; public var next_btn:SimpleButton; public var remotingLevelGateway:RemotingLevelsGateway; public var m1:ItemSelector; public var m2:ItemSelector; public var m3:ItemSelector; public var m6:ItemSelector; public var m7:ItemSelector; public var m8:ItemSelector; public var m4:ItemSelector; public var m5:ItemSelector; public var best_btn:MovieClip; private var  :Number;// = 0 public var playMoreGamesBtn:SimpleButton; public var author_btn:MovieClip; public var next2_btn:SimpleButton; public var pages:TextField; public function gameFormSelectore(){ arr = new Array();  = Global.editorGameID;  = RemotingLevelsGateway.SORT_BY_DATE_DEC;   = 0;  = 8;  = 0; arr["mainMenuBtn"] = {action:"game", value:GameAreaEvents.GAME_AREA_MENU, how:true}; arr["playMoreGamesBtn"] = {action:"link", value:Global._urls["play_more_games"], how:true}; super(); } public function iniEvents():void{ var _local1:String; var _local2:SimpleButton; (this["next_btn"] as SimpleButton).addEventListener(MouseEvent.CLICK,  ); (this["next2_btn"] as SimpleButton).addEventListener(MouseEvent.CLICK, ); (this["prev_btn"] as SimpleButton).addEventListener(MouseEvent.CLICK,  ); (this["prev2_btn"] as SimpleButton).addEventListener(MouseEvent.CLICK,  ); (this["recent_btn"] as MovieClip).addEventListener(MouseEvent.CLICK,  ); (this["best_btn"] as MovieClip).addEventListener(MouseEvent.CLICK,  ); (this["author_btn"] as MovieClip).addEventListener(MouseEvent.CLICK,  ); for (_local1 in arr) { if (arr[_local1].how == true){ _local2 = this[_local1]; _local2.addEventListener(MouseEvent.CLICK, action); _local2.addEventListener(MouseEvent.ROLL_OVER, overBtn); }; }; } public function action(_arg1:MouseEvent=null):void{ var _local2:String; var _local3:Object; Global.sound_interface.playSound(null, "s_click"); _local2 = _arg1.target.name; _local3 = arr[_local2]; switch (_local3.action){ case "link": Global.getURL(_local3.value); break; case "game": clearEvents(); super.changeGameAreaEvent(_local3.value); break; }; } public function errorResult(_arg1:RemotingLevelsEvent=null):void{ (false); (this["info"] as TextField).text = "Error Loading Data..."; } private function (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 =  ;   = ( - 1); Global._game_stored_data.data["shared_current_page"] =  ; if (  != _local2){  (); }; } private function (_arg1:Boolean=false):void{ if (_arg1){ this["preloader"].visible = true; this["preloader"].play(); } else { this["preloader"].visible = false; this["preloader"].stop(); }; } public function (_arg1:RemotingLevelsEvent=null):void{ var _local2:*; _local2 = _arg1.value;  = Number(_local2); (false); if (Global._game_stored_data.data["shared_sort"] == undefined){  = RemotingLevelsGateway.SORT_BY_DATE_DEC; } else {  = Global._game_stored_data.data["shared_sort"]; }; if (Global._game_stored_data.data["shared_current_page"] == undefined){   = 0; } else {   = Global._game_stored_data.data["shared_current_page"]; }; if ( >= 1){  (); } else { this["info"].text = "Shared Gallery is empty."; }; } private function  (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 =  ;  --; if (  < 0){   = ( - 1); }; Global._game_stored_data.data["shared_current_page"] =  ; if (_local2 !=  ){  (); }; } private function ():void{ var _local1:uint; _local1 = 0; while (_local1 < ) { (this[("m" + (_local1 + 1))] as ItemSelector).clear(); _local1++; }; } private function (_arg1:Boolean=true):void{ (this["pages"] as TextField).text = (((  + 1) + "/") + ); if ((((  >= ( - 1))) || (!(_arg1)))){ this["next_btn"].mouseEnabled = false; this["next_btn"].alpha = 0.5; this["next2_btn"].mouseEnabled = false; this["next2_btn"].alpha = 0.5; } else { this["next_btn"].mouseEnabled = true; this["next_btn"].alpha = 1; this["next2_btn"].mouseEnabled = true; this["next2_btn"].alpha = 1; }; if ((((  == 0)) || (!(_arg1)))){ this["prev_btn"].mouseEnabled = false; this["prev_btn"].alpha = 0.5; this["prev2_btn"].mouseEnabled = false; this["prev2_btn"].alpha = 0.5; } else { this["prev_btn"].mouseEnabled = true; this["prev_btn"].alpha = 1; this["prev2_btn"].mouseEnabled = true; this["prev2_btn"].alpha = 1; }; } private function  ():void{ var _local1:uint; _local1 = 0; while (_local1 < ) { (this[("m" + (_local1 + 1))] as ItemSelector).enable(); _local1++; }; } public function overBtn(_arg1:MouseEvent=null):void{ var _local2:String; Global.sound_interface.playSound(null, "s_over"); _local2 = _arg1.target.name; } private function  ():void{ try { remotingLevelGateway.removeEventListener(RemotingLevelsEvent.ERROR, errorResult); remotingLevelGateway.removeEventListener(RemotingLevelsEvent.GET_PAGE_AMOUNT, ); remotingLevelGateway.removeEventListener(RemotingLevelsEvent.GET_PAGE_LIST,  ); remotingLevelGateway.removeEventListener(RemotingLevelsEvent.GET_LEVEL,  ); } catch(e:Error) { }; } private function  (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 =  ;  ++; if (  >= ){   = 0; }; Global._game_stored_data.data["shared_current_page"] =  ; if (_local2 !=  ){  (); }; } private function  ():void{ (true); try { remotingLevelGateway.getPagesAmount( , ); } catch(e:Error) { (false); this["info"].text = "Error Loading Data..."; }; } private function  ():void{ (true); (); (false);  (false); try { remotingLevelGateway.getPageList( ,  , , ); } catch(e:Error) { (false); (this["info"] as TextField).text = "Error Loading Data..."; }; } public function remotingStep3(_arg1:String):void{ var levelID = _arg1; Global.previewLevelID = levelID; (true); (false);  (false);  (); try { remotingLevelGateway.getLevel( , levelID); } catch(e:Error) { (false); (this["info"] as TextField).text = "Error Loading Data..."; }; } private function  (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 =  ;   = 0; Global._game_stored_data.data["shared_current_page"] =  ; if (  != _local2){  (); }; } private function  (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 = ;  = RemotingLevelsGateway.SORT_BY_DATE_DEC; Global._game_stored_data.data["shared_sort"] = ; if (_local2 != ){  (); }; } private function  (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 = ;  = RemotingLevelsGateway.SORT_BY_RATE_DEC; Global._game_stored_data.data["shared_sort"] = ; if (_local2 != ){  (); }; } private function  (_arg1:MouseEvent=null):void{ var _local2:Number; _local2 = ;  = RemotingLevelsGateway.SORT_BY_AUTHOR; Global._game_stored_data.data["shared_sort"] = ; if (_local2 != ){  (); }; } public function  (_arg1:RemotingLevelsEvent=null):void{ var result:*; var arr:Array; var i:uint; var event = _arg1; (false); (true);  (true); result = event.value; arr = (result as Array); i = 0; while (i < arr.length) { try { (this[("m" + (i + 1))] as ItemSelector).update(arr[i]); } catch(e:Error) { break; }; i = (i + 1); }; } private function  (_arg1:Boolean=true):void{ if (!_arg1){ (this["best_btn"] as MovieClip).mouseEnabled = !(_arg1); (this["best_btn"] as MovieClip).alpha = 0.5; (this["recent_btn"] as MovieClip).mouseEnabled = !(_arg1); (this["recent_btn"] as MovieClip).alpha = 0.5; (this["author_btn"] as MovieClip).mouseEnabled = !(_arg1); (this["author_btn"] as MovieClip).alpha = 0.5; } else { (this["best_btn"] as MovieClip).mouseChildren = (()==RemotingLevelsGateway.SORT_BY_RATE_DEC) ? false : true; (this["best_btn"] as MovieClip).mouseEnabled = (()==RemotingLevelsGateway.SORT_BY_RATE_DEC) ? false : true; (this["best_btn"] as MovieClip).gotoAndStop((()==RemotingLevelsGateway.SORT_BY_RATE_DEC) ? 2 : 1); (this["best_btn"] as MovieClip).alpha = 1; (this["recent_btn"] as MovieClip).mouseChildren = (()==RemotingLevelsGateway.SORT_BY_DATE_DEC) ? false : true; (this["recent_btn"] as MovieClip).mouseEnabled = (()==RemotingLevelsGateway.SORT_BY_DATE_DEC) ? false : true; (this["recent_btn"] as MovieClip).gotoAndStop((()==RemotingLevelsGateway.SORT_BY_DATE_DEC) ? 2 : 1); (this["recent_btn"] as MovieClip).alpha = 1; (this["author_btn"] as MovieClip).mouseChildren = (()==RemotingLevelsGateway.SORT_BY_AUTHOR) ? false : true; (this["author_btn"] as MovieClip).mouseEnabled = (()==RemotingLevelsGateway.SORT_BY_AUTHOR) ? false : true; (this["author_btn"] as MovieClip).gotoAndStop((()==RemotingLevelsGateway.SORT_BY_AUTHOR) ? 2 : 1); (this["author_btn"] as MovieClip).alpha = 1; }; } private function  ():void{ try { remotingLevelGateway = new RemotingLevelsGateway("http://www.gamezhero.com/chat/gateway.php"); remotingLevelGateway.addEventListener(RemotingLevelsEvent.ERROR, errorResult); remotingLevelGateway.addEventListener(RemotingLevelsEvent.GET_PAGE_AMOUNT, ); remotingLevelGateway.addEventListener(RemotingLevelsEvent.GET_PAGE_LIST,  ); remotingLevelGateway.addEventListener(RemotingLevelsEvent.GET_LEVEL,  ); } catch(e:Error) { (false); this["info"].text = "Error Loading Data..."; }; } public function  (_arg1:RemotingLevelsEvent=null):void{ var _local2:*; _local2 = _arg1.value; Global.previewLevel = _local2; super.changeGameAreaEvent(GameAreaEvents.GAME_AREA_PREVIEW); } override public function clearEvents():void{ var _local1:String; var _local2:*; (this["next_btn"] as SimpleButton).removeEventListener(MouseEvent.CLICK,  ); (this["next2_btn"] as SimpleButton).removeEventListener(MouseEvent.CLICK, ); (this["prev_btn"] as SimpleButton).removeEventListener(MouseEvent.CLICK,  ); (this["prev2_btn"] as SimpleButton).removeEventListener(MouseEvent.CLICK,  ); (this["recent_btn"] as MovieClip).removeEventListener(MouseEvent.CLICK,  ); (this["best_btn"] as MovieClip).removeEventListener(MouseEvent.CLICK,  ); (this["author_btn"] as MovieClip).removeEventListener(MouseEvent.CLICK,  ); for (_local1 in arr) { _local2 = this[_local1]; _local2.removeEventListener(MouseEvent.CLICK, action); _local2.removeEventListener(MouseEvent.ROLL_OVER, overBtn); }; } override public function ini():void{ var _local1:uint; super.ini();  (false); (false); iniEvents();  (); (); this["pages"].text = "";  (); } } }//package com.gamezhero.gamearea
Section 127
//MultiText (com.gamezhero.gamearea.MultiText) package com.gamezhero.gamearea { import flash.display.*; import com.gamezhero.*; public class MultiText extends MovieClip { public function MultiText(){ this.mouseEnabled = false; gotoAndStop(Global._language); } } }//package com.gamezhero.gamearea
Section 128
//PreloaderVrashalka (com.gamezhero.gamearea.PreloaderVrashalka) package com.gamezhero.gamearea { import flash.events.*; import flash.display.*; public class PreloaderVrashalka extends MovieClip { public var vr:MovieClip; public function PreloaderVrashalka(){ this.addEventListener(Event.ENTER_FRAME, update); } private function update(_arg1:Event=null){ if (this.currentFrame == 30){ }; } } }//package com.gamezhero.gamearea
Section 129
//BtnSoundControl (com.gamezhero.gameComponents.BtnSoundControl) package com.gamezhero.gameComponents { import flash.events.*; import flash.display.*; public class BtnSoundControl extends MovieClip { public var begun:MovieClip; public var  :Number;// = 0 public var  :Boolean;// = false public var  :Number;// = 0 public var dx:Number; public var  :Number; public var  :Number;// = 48 public var  :Number;// = 2 public static var CHANGE:String = "change"; public function BtnSoundControl(){   = 2;   = 0;   = 0;   = 48; dx = (  -  );   =  ;   = false; super(); this.addEventListener(Event.ENTER_FRAME, ini); } public function ini(_arg1:Event=null):void{ this.removeEventListener(Event.ENTER_FRAME, ini); trace(("INI " + this["begun"])); this["begun"].buttonMode = true; this["begun"].useHandCursor = true; this["begun"].mouseChildren = false; this["begun"].addEventListener(MouseEvent.MOUSE_DOWN, downAction); this.addEventListener(Event.REMOVED_FROM_STAGE, remove); } public function  (_arg1:MouseEvent=null):void{ var _local2:Event; (this["begun"] as MovieClip).x = (this.mouseX -  ); if ((this["begun"] as MovieClip).x > (  + dx)){ (this["begun"] as MovieClip).x = (  + dx); }; if ((this["begun"] as MovieClip).x <  ){ (this["begun"] as MovieClip).x =  ; };   = (((this["begun"] as MovieClip).x -  ) / dx); _local2 = new Event(CHANGE); this.dispatchEvent(_local2); } public function downAction(_arg1:MouseEvent=null):void{ var _local2:Number; _local2 = (this["begun"] as MovieClip).y;   = (this["begun"] as MovieClip).mouseX;   = (this["begun"] as MovieClip).mouseY; stage.addEventListener(MouseEvent.MOUSE_UP, upAction); stage.addEventListener(MouseEvent.MOUSE_MOVE,  ); } public function enable(_arg1:Boolean=true):void{ trace(("THIS " + this.alpha)); if (_arg1){ ini(); this["begun"].alpha = 1; } else { clearEvents(); this["begun"].enabled = false; this["begun"].alpha = 0.5; }; } private function remove(_arg1:Event=null):void{ clearEvents(); } public function set volue(_arg1:Number):void{   = _arg1; update(); } public function upAction(_arg1:MouseEvent=null):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE,  ); } public function get volue():Number{ return ( ); } public function update():void{ (this["begun"] as MovieClip).x = (  + Math.round((  * dx))); } public function clearEvents():void{ stage.removeEventListener(MouseEvent.MOUSE_DOWN, downAction); stage.removeEventListener(MouseEvent.MOUSE_UP, upAction); stage.removeEventListener(MouseEvent.MOUSE_MOVE,  ); } } }//package com.gamezhero.gameComponents
Section 130
//PauseMenu (com.gamezhero.gameForms.PauseMenu) package com.gamezhero.gameForms { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.*; import com.gamezhero.game.*; import flash.text.*; import com.gamezhero.gameComponents.*; public class PauseMenu extends MovieClip { public var exitGameBtn:MovieClip; public var musicGameBtn:MovieClip; public var playGameBtn:MovieClip; public var soundControl:BtnSoundControl; public var txt:TextField; public var soundGameBtn:MovieClip; public var musicControl:BtnSoundControl; private var  :MovieClip; private var arr:Array; public var gamezheroBtn:MovieClip; private var :MovieClip; private var :String; public static const BTN_EXIT:String = "exitGameBtn"; public static const BTN_PLAY:String = "playGameBtn"; public static const BTN_MUSIC:String = "musicGameBtn"; public static const BTN_SOUND:String = "soundGameBtn"; public static const BTN_GAMEZHERO:String = "gamezheroBtn"; public function PauseMenu(_arg1:MovieClip){ arr = new Array(); super(); addFrameScript(16, );  = _arg1;  = MovieClip(_arg1); .addChild(this); arr[BTN_GAMEZHERO] = {action:"link", value:Global._urls["zorro_logo"]}; arr[BTN_PLAY] = {action:"action", value:"continue"}; arr[BTN_EXIT] = {action:"action", value:"menu"}; arr[BTN_SOUND] = {action:"action", value:"sound"}; arr[BTN_MUSIC] = {action:"action", value:"music"};  = stage.quality; stage.quality = "BEST"; Global.music_game. (0); this.addEventListener(Event.ENTER_FRAME, ini); } public function ini(_arg1:Event=null):void{ this.removeEventListener(Event.ENTER_FRAME, ini); iniEvents(); (true); (true); } public function  (_arg1:MouseEvent=null):void{ var _local2:String; var _local3:Object; Global.sound_interface.playSound(null, "s_click"); _local2 = _arg1.target.name; _local3 = arr[_local2]; switch (_local3.action){ case "link": Global.getURL(_local3.value); break; case "action": switch (_local3.value){ case "continue":  (); clearEvents(); break; case "menu":  (); clearEvents(); break; case "sound": (); break; case "music": (); break; }; break; }; } private function  ():void{ stage.quality = ; Global.iniSoundAndMusic();  .pauseGame(false); action(); } public function  (_arg1:Event=null):void{ Global._sound_volume_game = (this["soundControl"] as BtnSoundControl).volue; } public function iniEvents():void{ var _local1:String; var _local2:MovieClip; for (_local1 in arr) { _local2 = this[_local1]; _local2.buttonMode = true; _local2.useHandCursor = true; _local2.mouseChildren = false; _local2.addEventListener(MouseEvent.CLICK,  ); _local2.addEventListener(MouseEvent.ROLL_OVER, overBtn); _local2.addEventListener(MouseEvent.ROLL_OUT, outBtn); }; (this["soundControl"] as BtnSoundControl).addEventListener(BtnSoundControl.CHANGE,  ); (this["musicControl"] as BtnSoundControl).addEventListener(BtnSoundControl.CHANGE, ); stage.removeEventListener(GameEvents.GAME_OVER, actionGameOver); } public function outBtn(_arg1:MouseEvent=null):void{ (this["txt"] as TextField).text = ""; } public function actionGameOver(_arg1:GameEvents=null):void{ remove(); } private function (_arg1:Boolean=false):void{ if (_arg1 == false){ Global._game_stored_data.data.soundVolumeFlag = ((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 0 : 1; }; this["soundGameBtn"].gotoAndStop(((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1); (this["soundControl"] as BtnSoundControl).volue = (Global._game_stored_data.data.soundVolumeFlag) ? Global._sound_volume_game : 0; (this["soundControl"] as BtnSoundControl).enable(Global._game_stored_data.data.soundVolumeFlag); } public function action():void{ (this as MovieClip).addEventListener(Event.ENTER_FRAME, ); } public function (_arg1:Event=null):void{ Global._music_volume_game = (this["musicControl"] as BtnSoundControl).volue; } private function (_arg1:Event):void{ this.gotoAndStop((this.currentFrame + 1)); if (this.currentFrame == this.totalFrames){ (this as MovieClip).removeEventListener(Event.ENTER_FRAME, ); this.remove(); }; } function (){ stop(); } public function remove():void{ this.clearEvents(); if (( as MovieClip).contains(this)){ .removeChild(this); }; } private function  ():void{ stage.quality = ; ( as Game).missionFail(); } private function (_arg1:Boolean=false):void{ if (_arg1 == false){ Global._game_stored_data.data.musicVolumeFlag = ((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 0 : 1; }; this["musicGameBtn"].gotoAndStop(((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1); (this["musicControl"] as BtnSoundControl).volue = (Global._game_stored_data.data.musicVolumeFlag) ? Global._music_volume_game : 0; (this["musicControl"] as BtnSoundControl).enable(Global._game_stored_data.data.musicVolumeFlag); } public function clearEvents():void{ var _local1:String; var _local2:MovieClip; (this as MovieClip).removeEventListener(Event.ENTER_FRAME, ini); for (_local1 in arr) { _local2 = (this[_local1] as MovieClip); _local2.removeEventListener(MouseEvent.CLICK, action); _local2.removeEventListener(MouseEvent.ROLL_OVER, overBtn); _local2.removeEventListener(MouseEvent.ROLL_OUT, outBtn); }; (this["soundControl"] as BtnSoundControl).removeEventListener(BtnSoundControl.CHANGE,  ); (this["musicControl"] as BtnSoundControl).removeEventListener(BtnSoundControl.CHANGE, ); stage.removeEventListener(GameEvents.GAME_OVER, actionGameOver); } public function overBtn(_arg1:MouseEvent=null):void{ var btn_name:String; var event = _arg1; Global.sound_interface.playSound(null, "s_over"); btn_name = event.target.name; try { (this["txt"] as TextField).text = Global.pauseLanguage[Global._language][btn_name]; } catch(e:Error) { trace(((("ERROR SHOW PAUSE TEXT " + btn_name) + " ") + Global._language)); }; } } }//package com.gamezhero.gameForms
Section 131
//Music (com.gamezhero.media.Music) package com.gamezhero.media { import flash.events.*; import flash.utils.*; import flash.media.*; public class Music { public var  :Array; private var  :Dictionary; public var :Number;// = 0.5 private var :Object; public var :Array; public var :Timer; private var :String;// = "" public function Music(){  = new Dictionary();  = new Object();  = "";  = 0.5;  = new Array();  = new Array();  = new Timer(50, 0); super(); } public function stopMusics():void{ var _local1:*; var _local2:*; for (_local1 in ) { (_local1); }; for (_local2 in  ) { }; ( = ""); } public function playMusic(_arg1:String, _arg2:String, _arg3:Number=0):void{ var soundFactory:Sound; var sndClass:Class; var id = _arg1; var sName = _arg2; var step = _arg3; if ( != id){ ();  = id; try { sndClass = (getDefinitionByName(sName) as Class); } catch(e:ReferenceError) { trace(("НЕТ ТАКОЙ МУЗЫКИ :" + sName)); return; }; soundFactory = (new (sndClass) as Sound); (id, soundFactory, step); (); }; } private function  (_arg1:Event):void{ var _local2:*; var _local3:String; var _local4:Sound; _local2 = _arg1.target; if ( [_local2].loopFlag == "infinity"){ _local3 =  [_local2].id; _local4 =  [_local2].sound; (_local3, _local4); }; delete  [_local2]; } public function  (_arg1:Number):void{ var _local2:*; var _local3:SoundTransform;  = _arg1; for (_local2 in  ) { _local3 = _local2.soundTransform; _local3.volume = ; _local2.soundTransform = _local3; }; } public function (_arg1:String, _arg2:Sound, _arg3:Number=0):void{ var _local4:Number; var _local5:SoundChannel; var _local6:SoundTransform; _local4 = 1000; _local5 = _arg2.play(0, _local4); _local6 = _local5.soundTransform; _local6.pan = 0; _local6.volume = ((_arg3)>) ?  : _arg3; _local5.soundTransform = _local6; _local5.addEventListener(Event.SOUND_COMPLETE,  );  [_local5] = {id:_arg1, sound:_arg2}; [_arg1] = _local5; } public function (_arg1:String):void{ if ([_arg1] != undefined){ .push(_arg1); .addEventListener("timer", ); .start(); }; } public function (_arg1:String):void{ if ([_arg1] != undefined){  .push(_arg1); .addEventListener("timer", ); .start(); }; } private function (_arg1:TimerEvent=null):void{ var _local2:Number; var _local3:SoundTransform; var _local4:SoundChannel; _local2 = 0; while (_local2 <  .length) { _local4 = [ [_local2]]; _local3 = _local4.soundTransform; _local3.volume = (_local3.volume + 0.025); _local3.volume = ((_local3.volume)>=) ?  : _local3.volume; _local4.soundTransform = _local3; if (_local3.volume == ){  .splice(_local2, 1); _local2--; }; _local2++; }; _local2 = 0; while (_local2 < .length) { _local4 = [[_local2]]; _local3 = _local4.soundTransform; _local3.volume = (_local3.volume - 0.1); _local3.volume = ((_local3.volume)<=0) ? 0 : _local3.volume; _local4.soundTransform = _local3; if (_local3.volume == 0){ _local4.stop(); trace("STOP AFTER MINUS"); .splice(_local2, 1); _local2--; }; _local2++; }; if (((( .length == 0)) && ((.length == 0)))){ .removeEventListener("timer", ); .stop(); }; } } }//package com.gamezhero.media
Section 132
//SoundFX (com.gamezhero.media.SoundFX) package com.gamezhero.media { import flash.events.*; import flash.utils.*; import flash.media.*; public class SoundFX { private var  :Dictionary; public var  :Number;// = 0.5 private var :Object; public function SoundFX(){  = new Dictionary();  = new Object();  = 0.5; super(); } public function stopSounds():void{ var _local1:*; for (_local1 in  ) { _local1.stop(); _local1.addEventListener(Event.SOUND_COMPLETE,  ); delete  [_local1]; };  = new Object();  = new Dictionary(); } public function  (_arg1, _arg2:Sound, _arg3:Number, _arg4, _arg5:Number):SoundChannel{ var _local6:Number; var _local7:SoundChannel; var _local8:SoundTransform; _local6 = ((_arg4)=="infinity") ? 1000 : _arg4; _local7 = _arg2.play(0, _local6); _local8 = _local7.soundTransform; _local8.pan = _arg3; _local8.volume = ( * _arg5); _local7.soundTransform = _local8; _local7.addEventListener(Event.SOUND_COMPLETE,  );  [_local7] = {id:_arg1, sound:_arg2, loopFlag:_arg4, pan:_arg3, kof:_arg5}; if (_arg1 != null){ [_arg1] = _local7; }; return (_local7); } public function (_arg1:String, _arg2:Number):void{ var _local3:*; var _local4:SoundTransform; _local3 = [_arg1]; if (_local3 != undefined){ _local4 = _local3.soundTransform;  [_local3].pan = _arg2; _local4.pan = _arg2; _local3.soundTransform = _local4; }; } private function  (_arg1:Event):void{ var _local2:*; var _local3:*; var _local4:Sound; var _local5:*; var _local6:Number; var _local7:Number; _local2 = _arg1.target; _local3 =  [_local2].id; if ( [_local2].loopFlag == "infinity"){ _local4 =  [_local2].sound; _local5 =  [_local2].loopFlag; _local6 =  [_local2].pan; _local7 =  [_local2].kof;  (_local3, _local4, _local5, _local6, _local7); }; delete  [_local2]; delete [_local3]; } public function (_arg1:Number):void{ var _local2:*; var _local3:SoundTransform;  = _arg1; for (_local2 in  ) { _local3 = _local2.soundTransform; _local3.volume = ( *  [_local2].kof); _local2.soundTransform = _local3; }; } public function (_arg1:String, _arg2:Number):void{ var _local3:*; var _local4:SoundTransform; _local3 = [_arg1]; if (_local3 != undefined){  [_local3].kof = _arg2; _local4 = _local3.soundTransform; _local4.volume = ( *  [_local3].kof); _local3.soundTransform = _local4; }; } public function playSound(_arg1, _arg2:String, _arg3=0, _arg4:Number=0, _arg5:Number=1):SoundChannel{ var sndClass:Class; var soundFactory:Sound; var id = _arg1; var sName = _arg2; var loopFlag = _arg3; var pan = _arg4; var kof = _arg5; if (kof > 1){ kof = 1; }; if ([id] == undefined){ try { sndClass = (getDefinitionByName(sName) as Class); soundFactory = (new (sndClass) as Sound); } catch(e:ReferenceError) { return (null); }; return ( (id, soundFactory, pan, loopFlag, kof)); //unresolved jump }; return (null); } public function (_arg1:String):void{ var _local2:*; _local2 = [_arg1]; if (_local2 != undefined){ _local2.stop(); _local2.addEventListener(Event.SOUND_COMPLETE,  ); delete  [_local2]; }; } } }//package com.gamezhero.media
Section 133
//ClassLoader (com.gamezhero.utils.ClassLoader) package com.gamezhero.utils { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class ClassLoader extends EventDispatcher { private var  :Loader; private var request:URLRequest; private var  :String; private var :Class; public static var CLASS_LOADED:String = "classLoaded"; public static var LOAD_ERROR:String = "loadError"; public function ClassLoader(){  = new Loader();  .contentLoaderInfo.addEventListener(Event.COMPLETE,  );  .contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, );  .contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, ); } public function getClass(_arg1:String):Class{ var className = _arg1; try { return (( .contentLoaderInfo.applicationDomain.getDefinition(className) as Class)); } catch(e:Error) { trace("ERROR"); }; return (null); } private function (_arg1:Event):void{ dispatchEvent(new Event(ClassLoader.LOAD_ERROR)); } private function  (_arg1:Event):void{ dispatchEvent(new Event(ClassLoader.CLASS_LOADED)); } private function (_arg1:Event):void{ dispatchEvent(new Event(ClassLoader.LOAD_ERROR)); } public function load(_arg1:String):void{ var _local2:LoaderContext;  = _arg1; request = new URLRequest( ); _local2 = new LoaderContext(); _local2.applicationDomain = new ApplicationDomain();  .load(request, _local2); } } }//package com.gamezhero.utils
Section 134
//IntUtil (com.gamezhero.utils.IntUtil) package com.gamezhero.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.gamezhero.utils
Section 135
//GameArea (com.gamezhero.GameArea) package com.gamezhero { import flash.events.*; import flash.display.*; import com.gamezhero.events.*; import com.gamezhero.game.*; import flash.net.*; import com.gamezhero.gamearea.*; public class GameArea extends MovieClip { public var cursor:Cursor; public var  :Gate; public var editor:Game; public var lang_mc:gameFormLanguage; public var test:Game; public var preview:Game; public var  :Gate; public var selector:gameFormSelectore; public var game:Game; public function GameArea(){ ini(); } public function ():void{  = new Gate(this, true);  = null; } private function (_arg1:SecurityErrorEvent=null):void{ (); } private function (){ var _local1:Sprite; _local1 = new Sprite(); _local1.graphics.lineStyle(1, 0xFF0000, 100); _local1.graphics.beginFill(0xFF0000, 100); _local1.graphics.moveTo(0, 0); _local1.graphics.lineTo(Global._game_width, 0); _local1.graphics.lineTo(Global._game_width, Global._game_height); _local1.graphics.lineTo(0, Global._game_height); _local1.graphics.moveTo(0, 0); _local1.visible = false; parent.addChild(_local1); this.mask = _local1; } private function ini():void{ var s_lc:LocalConnection; (); this.gotoAndStop(1); stage.addEventListener(GameAreaEvents.GAME_AREA_CHANGE, ); cursor = new Cursor((parent as MovieClip)); if (() == true){ (); } else { s_lc = new LocalConnection(); s_lc.addEventListener(StatusEvent.STATUS, ); s_lc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, ); try { s_lc.send(("gamezhero1" + String(Global.gamezhero_code)), "checkPopUp"); } catch(error:ArgumentError) { (); }; }; } private function ():void{ var _local1:GameAreaEvents; _local1 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); if (gameFormLanguage.checkLanguage(Global._language) == false){ _local1.gameAreaValue = GameAreaEvents.GAME_AREA_LANGUAGE; } else { if (Global.previewLevel != "-1"){ _local1.gameAreaValue = GameAreaEvents.GAME_AREA_PREVIEW; } else { _local1.gameAreaValue = GameAreaEvents.GAME_AREA_MENU; }; }; (_local1); } private function ():void{ var _local1:GameAreaEvents; _local1 = new GameAreaEvents(GameAreaEvents.GAME_AREA_CHANGE); _local1.gameAreaValue = GameAreaEvents.GAME_AREA_RELEASE; (_local1); } private function (_arg1:StatusEvent=null):void{ switch (_arg1.level){ case "status": (); break; case "error": (); break; }; } public function (_arg1:GameAreaEvents=null):void{ var _local2:String; trace(("changeGameArea " +  )); _local2 = _arg1.gameAreaValue; GameAreaEvents.gameAreaType = _local2; if (! ){ trace(("changeGameArea " + _local2));  = new Gate(this, false, this, _local2, ); stage.quality = StageQuality.HIGH; switch (_local2){ case GameAreaEvents.GAME_AREA_PREVIEW: Global.music_interface.stopMusics(); Global.music_game.playMusic("game", "m_game"); break; case GameAreaEvents.GAME_AREA_EDITOR: Global.music_interface.stopMusics(); Global.music_game.stopMusics(); break; case GameAreaEvents.GAME_AREA_INTRO: Global.music_interface.stopMusics(); Global.music_game.stopMusics(); break; case GameAreaEvents.GAME_AREA_MAP: Global.music_game.stopMusics(); Global.music_interface.playMusic("map", "m_map"); trace(">>>>>>>>>>>>>>>>>>>>>>>>> MAP"); break; case GameAreaEvents.GAME_AREA_MENU: Global.music_game.stopMusics(); Global.music_interface.playMusic("menu", "m_menu"); break; case GameAreaEvents.GAME_AREA_SCORE: Global.music_game.stopMusics(); Global.music_interface.playMusic("menu", "m_menu"); break; case GameAreaEvents.GAME_AREA_SELECTOR: Global.music_game.stopMusics(); Global.music_interface.playMusic("map", "m_map"); break; case GameAreaEvents.GAME_AREA_GAME: stage.quality = StageQuality.MEDIUM; Global._bonus_info = "0"; Global.music_interface.stopMusics(); Global.iniSoundAndMusic(); Global.music_game.playMusic("game", "m_game"); break; case GameAreaEvents.GAME_AREA_WIN_INTRO: break; }; }; } private function ():Boolean{ var _local1:Date; return (true); } } }//package com.gamezhero
Section 136
//Gate (com.gamezhero.Gate) package com.gamezhero { import flash.events.*; import flash.display.*; public class Gate extends MovieClip { public var ; public var :MovieClip; public var :MovieClip; public var :Boolean; public var :Function; public function Gate(_arg1:MovieClip, _arg2:Boolean=true, _arg3:MovieClip=null, _arg4=1, _arg5:Function=null){ addFrameScript(0, frame1, 50, );  = _arg1;  = _arg2;  = _arg3;  = _arg4;  = _arg5; .addChild(this); ini(); this.addEventListener(Event.ENTER_FRAME, update); } private function ini():void{ if ( == true){ this.gotoAndStop("close"); } else { this.gotoAndStop("open"); }; } public function (_arg1):void{  = _arg1; } private function action():void{ this.removeEventListener(Event.ENTER_FRAME, update); trace("GATE ", , ); if (((!(( == null))) && (!(( == null))))){ try { .gotoAndStop(); } catch(e:Error) { trace("GATE ERROR GOTO"); }; }; if ( != null){ .call(null); }; .removeChild(this); } function frame1(){ stop(); } private function update(_arg1:Event):void{ this.gotoAndStop((this.currentFrame + 1)); if ( == true){ if (this.currentLabel == "open"){ action(); }; } else { if (this.currentLabel == "close2"){ Global.sound_game.playSound(null, "s_vorota"); action(); }; }; } function (){ stop(); } } }//package com.gamezhero
Section 137
//Global (com.gamezhero.Global) package com.gamezhero { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.display.*; import flash.utils.*; import org.cove.ape.*; import com.gamezhero.as3.*; import com.gamezhero.media.*; import com.gamezhero.crypto.*; import com.base64.*; import flash.net.*; import com.gamezhero.gamearea.*; import com.gamezhero.gameForms.*; public class Global { public static var freeSpace:Number = 105; public static var _box2d_gravitation:b2Vec2 = new b2Vec2(0, 0); public static var sound_interface:SoundFX; public static var friction:Number = 0.8; public static var _win:Array; public static var testLevel:String = "-1"; public static var _game_object_group:Group; public static var sound_game:SoundFX; public static var _box2d_phys_scale:Number = 60; public static var _current_level:Number = 0; public static var _sound_volume_game:Number = 0.3; public static var gamezhero_code:Number; public static var _music_volume_interface:Number = 1; public static var _framerate:uint = 40; public static var open_level:Object = new Array(); public static var _admin:Boolean = false; public static var _box2d_max_mass_kof:Number = 4; public static var _huy:String = (("хуйпросыштопфи" + String.fromCharCode(34)) + "гура2этоилинет"); public static var _game_height:Number = 600; public static var _game_stored_data:SharedObject = SharedObject.getLocal("super_top_figures_2-gamezhero.com"); public static var _music_volume_game:Number = 0.4; public static var _box2d_upper_bound:Number = 1000; public static var editorGameID:Number = 563; public static var editorDefaultBorder:String = "eNqVkr1ug0AQhG/NhtiH7SQWZQoXLlI6UkqXlJSu0iGDbKTEIIysUAJ+ibxAntLSZcOPdEAO4f6b2ZndnbwCN2Dmeid/f0T2sI+csx8nHLQvZFqCDAzH/fSP2n0YnDg8RUHsxH5AKKKp42UNxi74CCLMxTebObvYP3vIJnESegjAgSEbcUBkOlmNNc5hikIIu1DnNswL4SOyBY6bONY4TdrQJEtm7xQsWf8gpmGbBzVPUS7roonEa02esGsteSf+WccXGZ8r7InN7XYWuScZi6Z92XYjCxZq93Ta597dTLbt40fdppaOrmrxKN2UlWwe3wKvetZyLbKIWpK+FR+TLlVXLSXyCMKzw204qgJhM01VYDBfLr+QbIcsqHpLq69w6y2rz1/qaA5U0HkzrYXLHaCD//2yqcoPnTxUIV/1KP7Jc+jE/wXnPcyS"; public static var _max_live:Number = 5; public static var restitution:Number = 0.05; public static var _bonus_info:String = "0"; public static var _max_level:Number = 25; public static var _box2d_time_step:Number = (1 / _framerate); public static var _box2d_lower_bound:Number = -1000; public static var _game_width_2:Number = (_game_width / 2); public static var _box2d_world:b2World; public static var _score:Array = new Array(); public static var _levels:Array = new Array(); public static var _box2d_iterations:int = 6; public static var pauseLanguage:Object = new Object(); public static var _sound_volume_interface:Number = 0.5; public static var _key:Array; public static var _block_gallery:Object = new Object(); public static var previewLevel:String = "-1"; public static var music_interface:Music; public static var _rander:Boolean = false; public static var editorDefaultBlocks:String = "eNqFzjEOgjAYBeD+9A/KX1E00dnB0dHBQ3gCtwYIaaItgYbIpnIKL+AxrU3dZXjb915eIoAEpDK3qiv5ompkp2xPwG/IeI8AQhZXpaO0KFtVaS5yczENDu7FEtvXJa4ntWkJlo2x0iqj8XFAnxgHC0DAeESAyGI/NY2Iz0J1jpuMYBXssPtjP3dvKViG+NyPzUKgZ/9g6+lpnDrn3v7D8ae/BWMvGw=="; public static var _language:String; public static var previewLevelID:String = "-1"; public static var _keyFlags = new Object(); public static var _game_height_2:Number = (_game_height / 2); public static var _urls:Array = new Array(); public static var _live:Number = 0; public static var music_game:Music; public static var _game:MovieClip; public static var _keys:Object = new Object(); public static var _game_width:Number = 600; public static var _iteratioins:Number = (1000 / _framerate); public static var release_data:Date = new Date(Date.UTC(2008, 6, 4, 0, 0, 0, 0)); public static var density:Number = 0.1; public static var _max_powers:Number = 3; public static function iniLevel():void{ var _local1:uint; var _local2:uint; var _local3:uint; var _local4:String; trace("iniLevel ", _current_level); switch (_current_level){ case 0: _local3 = 1; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:10, time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:3, w:null, h:null}; _local4 = "eNqNkrFOwkAcxnu9f7W0R1HSkYEBoyMJjiSayODQkYlB0wCBJkoJNEQm09KXcHJzMnF3wcUXcHXyAYwvQFJbmt61EK7cdGl/39133/8rNJCiItXs3VsjXHDm4z6gotl1rFlfLPb6U2swEg/H9lRB+AF0PAe/fjyxHdOx7BEIqDSYmDPLmStIAYGEH9SufWdPYBE8CUhBAhZBBvFAlCNAJ7AwNAiCwEBHVFFOwxKFmwT8lhb+T0jIkoiS7jhGw3NfdtGY0n49pOsbLjZojdEVAmcadCgZylZZmL1vYcRGOrvOLadf10weJy3/1OH111uFSB+leLfrBpfk3MBQr52fCkvbbxHoJedKF6vnk8/l73doiMQ7nm7h0DHB1kDlLFrjoChdFLeqgXse20lSITQpjtAb0iuiWXEMRTDsC0fuGS1d5ljKJuS1U3PI1aKMNgqCdZWXmlsloG8MnFdXD695XrelTLd1VpCcxqZ0tcSUsZ+Uvccb8v2JIiiAD7C8DvWxJUSLhLurRrQ0aXnz8+q/355u1/8f3FDnFA=="; _levels[_local3]["block"] = _local4; break; case 1: _local3 = 2; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:4, w:null, h:null}; _local4 = "eNrjtGXk4mbkTs7PyS9iaf4/k4E3JbU4Mz2PiTcxuSSzLJWJOzElNzOPmb0gv5iLUbAovySxJDM/j4WBuYJFhLmSpcWAkT+9KLEss6SSi5GHhYGPhYGRs6SyIJWFkZGLkQFsJBMTCxMbMwcXIxfL////fXhYRPhYmn0YBeAahFg4sClm4GGx4WNpcYGrZAGqZMVh7DIelsYCDNV4HNFiwAdyPbJqZmyqo4BKZfhYNOAqgdr/ABXz4VDc7IPhCjy+swErZN3/njvD49J6GT7WA/wQFlCbEA4bGnmIswESKk0hxKkG+dOFjyUF4iD7P/NVj+5/exvoIB4IC1fYM0D0NZdArGCBRChepSooSrG6ptEEnEwaFSDOgYUKHzykcEUuA1hfUwbEClBcQWzBp5gFXTEHHtdDVbM6YHMSnngA6w3Bo5cVT1p1gQcFLNQY8eQDBT4WEfTkyogjzpuYsSjmwJO2RaAJBFuKxeOFZhUytILcl0HYM0wgxaz7o44EibY+vAYM3nqXM0Bwlo/VoQDCQkn+XNh0O4TVbN6hfXELSLe9MRCYAHXXOxCpe/9GOxEBrwugJMIB1Fd+cCYQzELRx4lNn/3WQ6Wz3zIwAG2tOZQGBOlA3ZXMYPvxFWQwN3cWq562PgLSvR/m5lIsPkYKXGYWZpjdczbG39zz4xPIx3YwuxN7sPkYAOAOMYE="; _levels[_local3]["block"] = _local4; break; case 2: _local3 = 3; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:5, w:null, h:null}; _local4 = "eNrjNGbk4mbkTs7PyS9iaf4/k4E/vSixLLOkkouRuYKFgbmShYGRNyW1ODM9j4m9IL+Yi1GwKL8ksSQzP4+FgYVFhI2lxYCRNzG5JLMslYmzpLIglYWROzElNzOPmZGLkQFsJBMXIwsLAxvQJA4mLi5GHpb////7gPU2+zDyMQmwcAhhKmaBKQbaYgO0xQWskhWfSqCxy1hYGgvgqhkJqAY6osUA7AOQamYsqoGK/sA0RAFVy7CxaIAV8+EzGqiy2QfuCnTfse5/z53hcWm9DBvrAX4IC9WvNmBtQgRsaOTBaQOWUGkKwe0e+z/zVY/uf3sb6B4eCAvZyy5sLCnYw54FKUoZICqbS4hXqoLdNbAwYYOHE0xjowk40TQqYI9cUFyhWgNU3JRBimIW7E5ywOkkqF9I1wiJFbDeEMJBBk2rLrg9j5ZWoVlBgY1FhCj1wIhuYoYpxkwgOBMsNKWLYPUCHn0QDzWr4NKKzX0ZuDzDar9p6U//HZGXQfb8W2L6uZGPkYMZpI/VflLsK+krJfzAqKh3NgYCEzZWh4jPYBYjH7MAC5cQEyMAV9vvdQ=="; _levels[_local3]["block"] = _local4; break; case 3: _local3 = 4; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNqdkrFPwkAUxnvtO4UrFCUsJgwkYqIbgw4mJDAwODA4MLERQGiilEBDZGzhnyAObq4OTg4GE6MuTq7ubsbRhYh3bSlK7wjxpkvu99373ntf+AARFamV2pneUsJmv10HFK1UTb1Xl2ONTqWnm32ClHOQlD5IaL1tdAkKQYLAMLPZMcyKqRst+qBWjVOjA4PpSIrW6l290ZIRQZIiQwjkNSaRCMUinnhQ1GA6nRbRhiOJz2A8h8GFs7RSQaPSBRIFSKvtovTfq0VaCdDDDGuB70Kb0/R54gmSBHY1KC/CocDXg6JrJIDGXRSPP9Xm0et1kuD7mHvze81yWg1WsCKCCkHULomn4k0b5yaXO4/jjzfqJ+LevJYLBGqcKrMtgb9SRg7MJd4X0LR4o/5MiD8nPzZWSgNrXxQFtqvfIbObSwwFYBDDOC+wxHrhCvEqwhJ/K4g7MtY6L6uIl1UrRSDB/z3E423F4cvCgAgCy5L+L1165m+1fuwmp44swxYof+OO852nE3acOOLcxeFD+nl7j+m+30dxxdMhsQ7n+7Jzo+rbuy9oHLPl2jejF6r+ARhE9Jk="; _levels[_local3]["block"] = _local4; break; case 4: _local3 = 5; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGTk4mbkTkzJzcxj5iypLEhlYeRNTC7JLEtl4k8vSizLLKnkYmSuYGFgrmRhYGQvyC/mYuRgEeFiaTEQLMovSSzJzM8DSnAn5+fkF7E0/5/JwJuSWpyZnsfEyMXIwMzEwsHCxAbSwsAFVMYD1dzsw8fy//9/H0YBsBYhmGJWhGIWiGIboE0ufECtaCoZMVQ2FkCUAs1dhq6aGUN1iwHIC9hdwYdQDZT+A9Ugw8WiwccSha6YA8PoZh+IQzCUCkGUsu5/z53hcWm9DBfrAX4IC+5XGyxexbShkQeHDZhKm0Jwhwo0tFnt/8xXPbr/7W2ge3ggLKiXXbhYUrDYAoslFniUglQ2l+BxO5pSFdwxCg8TLng4wZNNowIfS6MJrqQAiivkRNaUgcdBGIpZcCtmdcDhJJBfsGpkJUZjCPZYYcQaZCCvY0urjNjSaqMCF4sIdtM5sKlvYgarj8KZQHAkWFBKJ0ufCsx9xPmnKQOLPUxMLCIszJBgZtJRYLXg6eJideAKe5JjEBAE1sfqkKfBAAJA8Xp7YxDgY3UIa7ouz//MA2hW21orIWY0o/b/4bRt2q0tBdTCc0T1eAXXY6hRZVNnAsEskFFuaSDAx2p/M3ZVclWIH5pRrBCjEJmQ1aHAFaa5yhHMAmretszXoW4BPOng0V3qBLYQpNsVqvtAWMpivS8XDiB0AwAqMxmf"; _levels[_local3]["block"] = _local4; break; case 5: _local3 = 6; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNqVkztLw1AUgHNzT6LePqylo0gHFR+L4AOEilE6OHQsgm7FvgLalDaKFaG26Z+oi4Pg6uAP0EUnRXBwcXcTcRfrSVI1qbm1ninD993zzMAiYT4SSG3p6l5GHMyVUnuqXmGE7oNAKyCQvqJWZmSopOkpXdUKIABEZGjMEN+Wtq2VwGg1BV8qvaMW6IBeKWaABNKZsporiIQRQRQZARBkfKifEQatVithPWAkiN9ygzQE/WE3DDaMqWKYKu4gJW8Snz0DqBU7aMKlsYjGjNXGD007aMTebWET6WEZJhxw0PtpJI1ERxXO7qTLV19+7eF8WJauBu0vZ68xhxbmZqj5u2T4NZV6sls9y+8nY9eXL09Yj9/++mk5LkOaN3v4Xqlgk4beOzrKq+ZrJvL3nGyxNmcdTS3KW665K2cahOv5/8DAK0nhlNTu5f+ivRXLTf49svatxrs177rV9q8QlSHSE4+LrlM37D4QzsG2Lz3CaYHr2Q0Zo3z1d315z2ao+9yl5dO3zPiNeISj36CzGHOypFSVW4w70/54bgbFELAw9bSV6cn7palDtKsrTYxj017NYuT+tq/WF9hu8TGLk59H7yDxlbV+0bw1vRFvT8nuzpOTsypmPYgJZpj2mvXVYX8CNqMMAA=="; _levels[_local3]["block"] = _local4; break; case 6: _local3 = 7; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:6, w:null, h:null}; _local4 = "eNrj9GTk4mbkTUwuySxLZeJPL0osyyyp5GJkrmBhYK5kYWBkL8gv5mIULMovSSzJzM9jYWBhEWFjaTFg5E5Myc3MY+ZOzs/JL2Jp/j+TgbOksiCVhZE3JbU4Mz2PiZGLkYGJiYuRhYWBDWgQBxcjF8v///99wAY0+zDyMPOBtQmwcAihKmaBKAZaZQO0ygVJJSt2lUBjl7GwNBagqWbEqRroiBYDsDcQqpnRVAOV/YFoiAKqlmFj0YApNhZg4cNuNFBlsw+aK5B9x7r/PXeGx6X1MmysB/ghLGS/2iDZIITThkYePDZghEpTCD732P+Zr3p0/9vbQPfwQFgIL7uwsaTgCnsWeJQyQFQ2lxCvVAWXa2BhwgYPJ4jGRhNwomlUwBW5oLhCtgaouCmDFMUsuJzkgMNJUL+QrhESK2C9IYSDDJpWXfB5HiWtQrOCAhuLCFHqgRHdxIyqGDWB4Eiw0JQugsMLOPVBPNSsglsrpvsysHqGGTW5sx4Iq2zrvzJxBzDoI/6cAYKzbKwODQ5gFiMPE1D3v2czQTmXGa6bdf+1bxk+zQvEQa6896tlj7oezKzmkOkaog9AZv2cCQSzgGYFQ1hIZvGjmHXwcpPajnxJkFm/OVr1HytDzHIIqzv750u0GdCsentjIDABmfUGn7uQfOUQVjHrWDDrCpBuB7ivHEHmGON0ycaDf/YrrDgIcsm/I4tjp/fCzKp5u7hntx7QLD9hmEsSa9BdwordJQfSKnbvVdkIlHfwhYdJzaE0IEjHoZvVft2OwNetcjtBLnk/d5MuXzjUJWm1H1IT3E8BzWq4DzMrsYABBAi7ZH//yeUPbjAwgHTfA9sPcslB9NjBodv+FGf/1djfTEDdsZ9hoVDHitDdtHnmGQEWJhx2H1LXttk+aw5Qd+0/mN11LIgwxNQNDAWHwElPtbRBofBf2viP9WRYKNTvy3/ZLsECMgHsd6BZsQ8QoYDFrP19xzmXmSg+Bpv10ehH+0uYWeUlemsCK0G++gZzV+wHbGYBAI6evoo="; _levels[_local3]["block"] = _local4; break; case 7: _local3 = 8; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNqVk11IU2Ecxs/ZeXfU4/xoehEkJaEVFGFkUShskKCmBqGIrJuW29zSnMzhF+a+DNOgkKhYF1pEEkmKJCgpTQtpmGlYiWJEWjd9ihVppK7/ez7mNj1L36tz8by/93me//+EZZFMOBmhLjQbKrSSqCKTusJgrmZIqgoRVDUiyJAyYzlDbjEZzWqzwViKCIRiaVSfRIarNecMpVR4obHEaEIOj5MIM1eXaREZodGWG4pKJSRDEhIJQyJE0AAKZUgGeTyebBbgyCZlVCR7LRqFyv3FiBPDU6nwVJqPUrq+ErBtCNnKAtSkqBpM1CexMVbVVIAaZEvcBRWo42i0x0ccuT4alI7sABe+6aSuuXB9xnhnHC0diOK+fLOm+lyTi75gkwV5YU0r9rxgfhRLrYlDrm/T4EfGfa1GTqORRqx75B0pwSkd5o1LE8TcCJ3Q3p64i7Zkdmls8WLDxbPyfQbEdv1mxEjMklLEEp9l8xe5qbB38/5fGb+racHC++0q/yvE0yh2Q3oYtJ3yF/sviMjC8pseKxJB9B4XyJEgfnWtP33wMNy6S5X51h2nJ+hqqN707CA+tFRpndXBKSJlEpEhff9FZSpP0VLFS1t7j9w4x7EUGkv5U4srE2ECgQ+wTNMsVYylqNdum1uk7Dix5491f8IExxrIt/a3TvW0Y19vR+C8AFbOlBPOTTEWEBInon8eAl8PmlKqLmtmeV/XV2JWtEYX8hKwrxHW4VoWxbGoux9yF0anYBHvtz6ucHfX8L50lozi6SdHgFVciIMlY9ZYYEapnFplKaxncsbn77wCJXHp2DUbnch3r6srWFz5+BdnHBJ8VbrZtGIs16MTzV9Hun7gvpaz3hBDtDDHpoTZ9JUCzBpmpwesYk1QlpKGXEcL5NBXW8NeiSy9ne9rMqm573ZMAygqn3szjgRlDYRuvWruP2uBvvpwc2MqnnVj3+73IS0twFKXCHPkHbIs+0OnLhoxfn1dxKiaWcjIIIwtEfqydOlcjVU4Y6+wXzxVjKWM6v5cdyAqFzLOHFf9Hm7MEPbr/OCovuMKKGrdXl/jPr5crcZAX7fwHO8tgFKi45Qsy9U5QKcoa3diXy1C97Xu1f1aL+PkyS8XtveqoK+ZXZ+qXi/PC/tVXvNu8HAW8jaOfXX4/Y9OjvUP5TP2fw=="; _levels[_local3]["block"] = _local4; break; case 8: _local3 = 9; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGXk4mbkLKksSGVh5E1MLsksS2XiTkzJzcxj5k8vSizLLKnkYmSuYGFgrmRhYOROzs/JL2Jp/j+TgTcltTgzPY+JvSC/mIuRg0WEi6XFQLAovySxJDM/D6iWkYuRgYWDiYmFmQ0kz8AFFOMBa+VjEoDqaPYRYvn//78PRDErsmIWVMU2QONdhGDGMuJR2VgAUQo0dxlENTMe1S0GIHcju4IPWTVQ+A+aBhkuFg0hligs/kMzutkH4hCoUiGYUtb977kzPC6tl+FiPcAPYWH41UYIawiie5UHxQZ8SptC0EMFHtqs9n/mqx7d//Y20D08EBaal124WFLgtiBiiQUjSkEqm0uwuB2HUhXMGIWHCRc8nDCSTaOCEEujCXpSAMUVtkTWlIHFQTgVs2AqZnUg4CSQX5A0spKmMQQ5VhgJBBnI64i0yog/rTYqcLGIIJvOgV99EzNYfRRGAiGQYEEpnSx9KjD3EeefpgxkeySYmFmYIMHMzjND/uxFTi5WBzaj6T3h9+RA+v49m8nHLACWr3ecCQSzwImT1SGsU1ZzavBvdFMOsAUdrVpT7wF0LdvbfDalwgw0UyL+nAGCs1xwFsisxl7/L4FLIWbJI1zE+s0//K/ieaBadjf+LXb94kCz2tZawYyqbmEAAaCDLICGJDzIk54gy45uyAG2zyJnVGvLQQ7y+S598MBqVEOSv8Dck8II9p8Q6wG3YHFBQ15FWHTDjWKv7kuziioDGsW6V1iK1+06yG/bPu6GmZVzEBJCQNa9NBAAOetd3l/jyaXoZjmwTngg7Z0dAPLbEh1fXt69aGaVW0A8x+pQ9gPMArlrUr/gctcCRkYAYEBPCQ=="; _levels[_local3]["block"] = _local4; break; case 9: _local3 = 10; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGXk4mbkTUwuySxLZeJNSS3OTM9j4k8vSizLLKnkYmSuYGFgrmRhYOROTMnNzGPmLKksSGVhZC/IL+ZiZGMR4WBpMRAsyi9JLMnMzwMpS87PyS9iaf4/k4GRi5GBiYmJBaSOgQMox8XMw8LBB9XW7CPA8v//fx9GIWyKWcCKWcGKbYB2uAgA9eNRyQhW2VgAUQo0dxk+1cxg1S0GIMfjcwVQ5g9YAx9EgwwHi4YASxQ+oyH+a/aBOASLUtb977kzPC6tl+FgPcAPYYE1CsH8akPAqxAbGnlw2oCutCkEX6iw2v+Zr3p0/9vbQPfwQFhIYd/iwsGSgt0WFliUIlQ2l2B3Owtq7IOVqmBVCg8TDng4IcUvMNk0KgiwNJpgsQMUVzBr4KqbMrA7CFkxPEU2sWB3kgN2JyH8QqJGRHg1heBMqyyofgGpBnmdiLQKzQoKHCwi+HICXD00kTCD1WNLsPbYEywrPKWTpU8F5j7i/NOUgWEPMxMzUnJn4mGR5wOHetHemUAwC5joOQRY7Q99mi4yxWEVUF/j2TNpWPVJQ/Rl/EsDAQ5Wh3qHM0BwVoD1QFjtQ1bb1xtBtv57NhOf7oo/YD3gTADUV3QqLOhqMKY+Vvt1OwJft8od4GC1/zG5ZE9W3R+wKVxQtx+EuJ3VoczcGAQEWB0SnnZFd95QA5m1cFExVjfIQnSX2kDcwOpQ3QL1gUNYZ0+yROh7fOEG1V1gC7O7ugkcEkB/pFXwpfzJ/QDTDQD14D1J"; _levels[_local3]["block"] = _local4; break; case 10: _local3 = 11; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGTk4mbkTUwuySxLZeJNSS3OTM9j4k8vSizLLKnkYmSuYGFgrmRhYOROTMnNzGPmLKksSGVhZC/IL+ZiZGMR4WBpMRAsyi9JLMnMzwMpS87PyS9iaf4/k4GRi5GBiYmJBaSOgQMox8XMw8LBB9XW7CPA8v//fx9GIWyKWcCKWcGKbYB2uAgA9eNRyQhW2VgAUQo0dxk+1cxg1S0GIMfjcwVQ5g9YAx9EgwwHi4YASxQ+oyH+a/aBOASLUtb977kzPC6tl+FgPcAPYYE1CsH8akPAqxAbGnlw2oCutCkEX6iw2v+Zr3p0/9vbQPfwQFhIYd/iwsGSgt0WFliUIlQ2l2B3Owtq7IOVqmBVCg8TDng4IcUvMNk0KgiwNJpgsQMUVzBr4KqbMrA7CFkxPEU2sWB3kgN2JyH8QqJGRHg1heBMqyyofgGpBnmdiLQKzQoKHCwi+HICXD00kTCD1WNLsPbYEywrPKWTpU8F5j7i/NOUgWEPMxMzUnJn4mER4QOHep7MGSA4C06OrAfS6m8KPDgyH6Rv28fdSPpYDzCltvQHmTZwsDpw6b072JTbDDZFDmJKWV8aCAAlyw+AzRNg3b+g2rn03QFQVDdtnnkGnxvKuo1BAOqGsLojXdp6M7G4wf7/jC7Tqud3gdZwX5GYHizfjeyGPDm4Gw7OBIJZAqwOYXX1J97l8sDcAAAGwCJV"; _levels[_local3]["block"] = _local4; break; case 11: _local3 = 12; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGXk4mbkTUwuySxLZeJNSS3OTM9j4k8vSizLLKnkYmSuYGFgrmRhYOROTMnNzGPmLKksSGVhZC/IL+ZiZGMR4WBpMRAsyi9JLMnMzwMpS87PyS9iaf4/k4GRi5GBiYmJBaSOgQMox8XMw8LBB9XW7CPA8v//fx9GIWyKWcCKWcGKbYB2uAgA9eNRyQhW2VgAUQo0dxk+1cxg1S0GIMfjcwVQ5g9YAx9EgwwHi4YASxQ+oyH+a/aBOASLUtb977kzPC6tl+FgPcAPYYE1CsH8akPAqxAbGnlw2oCutCkEX6iw2v+Zr3p0/9vbQPfwQFhIYd/iwsGSgt0WFliUIlQ2l2B3Owtq7IOVqmBVCg8TDng4IcUvMNk0KgiwNJpgsQMUVzBr4KqbMrA7CFkxPEU2sWB3kgN2JyH8QqJGRHg1heBMqyyofgGpBnmdiLQKzQoKHCwi+HICXD00kTCD1WNLsPbYEywrPKWTpU8F5j7i/NOUgWEPMxMzUnJn4mER4QOHeu63NBAAJ0dWh7T69s03/W+D9G37uBtJH+sBptSW/iDTBg5WBy69dwebcpvBpshBTCmrg5jC6lB+cCYQzBJgtdfx/2dwgAEU1U2bZ57B54ayamMQAOqudzgDBGcFWA+ENfzQsfY7hMUl9v9ndJlWPb8LVM59RWJ6sHw3skty/4BNQHaJQ1h5iugm0QpMl7Daf9LlC2OR6AUqZyo7scUyQhjZrDwNBhAAShY4wsxKqzl40vgXKE81/d9/H9ms/S9/P8/pdm7lYLX/a1/zdmJGJUoITYb5scAJHFYgP9aHf/49TQHmLgD0rUz/"; _levels[_local3]["block"] = _local4; break; case 12: _local3 = 13; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGfk4mbkTUwuySxLZeJNSS3OTM9j4k8vSizLLKnkYmSuYGFgrmRhYOROTMnNzGPmLKksSGVhZC/IL+ZiZGMR4WBpMRAsyi9JLMnMzwMpS87PyS9iaf4/k4GRi5GBiYmJBaSOgQMox8XMw8LBB9XW7CPA8v//fx9GIWyKWcCKWcGKbYB2uAgA9eNRyQhW2VgAUQo0dxk+1cxg1S0GIMfjcwVQ5g9YAx9EgwwHi4YASxQ+oyH+a/aBOASLUtb977kzPC6tl+FgPcAPYYE1CsH8akPAqxAbGnlw2oCutCkEX6iw2v+Zr3p0/9vbQPfwQFhIYd/iwsGSgt0WFliUIlQ2l2B3Owtq7IOVqmBVCg8TDng4IcUvMNk0KgiwNJpgsQMUVzBr4KqbMrA7CFkxPEU2sWB3kgN2JyH8QqJGRHg1heBMqyyofgGpBnmdiLQKzQoKHCwi+HICXD00kTCD1WNLsPbYEywrPKWTpU8F5j7i/NOUgWEPMxMzJMkwCCT5Xvq4noPVgcOx09z72FJGLiYeFgmIvkygcL3rTCCYJcDqEJb44+iSOjmIKTORTXFg/CT/hUXzBVA5V13XzV6BuwhTWB3y2NJAAGSWG5glwHogrWDl3E0eZmCzNm1CNst+3Y7A161yezhY7f/a17ydmFECNosLYlbREQYQAJpVfgYEzgqw7l+18lebqNNMoFlta62Qjdr/9/M214WnDgCNmrOGw1Dt5QywURwQo6qcYM4qDYR68UBYW+3EiK4LQKOaNs88g+KsTx9X/n6e0wM0a0rVQ/d1ImXIZqV1wJxV6gX1okNYHd+pcwcMsJi1/+qh/hiNr0B3ObBeAhmbCzaLFerFs2DXACWLzsGDq2a10P+7G0BmnV5aieKuAlD8rRMDuutz8PdzN8XawWYxQc06CTMrTw5mVlhRIvvK5CmgoP/3bCYjAPWdd9Y="; _levels[_local3]["block"] = _local4; break; case 13: _local3 = 14; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrj9GTk4mbkTUktzkzPY+IsqSxIZWHkTkzJzcxj5k1MLsksS2XiTy9KLMssqeRiZK5gYWCuZGFg5E7Oz8kvYmn+P5OBvSC/mIuRi0WEh6XFQLAovySxJDM/D6iGkYuRgYmJhYOFmY2JA6SCgQcoygfWJADV0ewjxPL//38fmGJGZMUsyIobC4Dmu4BVL8NqNIrqZh+I6ijCSht5iFbaFILpBlaYalb7P/NVj+5/e5uH9QAPhIWst8WFhyUFyRa4PhYWtGABqWwuEcIWgliVqiAphYcf6wF+7gyPS+tleFj3v4ew0IK+UUGIpdEEM+CBnvuDGVFNGVgdhEMxCzbFrA54nQTyC4pGVlI0hqDGCiPeIAN5HWeqA3kJJX0o8LCI4El36OqbmMHqo7AkkPcwb8AiBz3JkqVPBeY+4vzTlIFqjwALE/bkzuoQ/OcMEJzlYXVoeJAGAkKs9usnfhDcJ/WXCN1QPSDdDmBzhFgPhFU5hn8V0oHpZoLpZt2/dcOyn4dSl4H8+E+z1vB9J4pZjU0MIAA0y/nnTCCYBXSJbRXbOxujOzCz+OFm2a+f+WzJ3lUNILP+swXPXMyF6i4HmLt8b0LNckirvT4583I+zCxOhLtWpHS+VgmeADYr2y7AdCuKWc6XjUEAZNYzaAjtN/LQcw7Z/xiRWOBmzbIKyc3Y8gts1lXGGpGpKGZFPID50Rfmx/0Hv3Mf57+hh4hYHKENLHqB+poUYf4Jq5P8LecxFayPmYlFGKiPGVIscK6SE+wzsQOqZpaVzDrXtgxoSuPZM2mwspDVoeYg3JQW2dNLrNZhmuLAfuZ0oOE7UKiwpjDnSbxKQjIFaMIhWAgnVoD9BIr51iP1vN5WWFzEanvFL3HuU6BZ7O+eXjHdsgzFrMRCsGtAZlWDwxoUW9WdFfuO+WNzF1v/Uh2HOUDVbBY3J/f8zsPqLlC1w2q/sfWqPUf5AZgp8ggXcUhHeZyS/ws0hZU72CB44QWUeMr4B/MdsCaE+i7h7vH/Nm1LMc1yYH7+9++mZcCQcuDkY1vAxdOCYlYlMyz9VPyH+S7hvtxEg8iLWMxiW3HLV8TxMTCk2GbE1x95G45qFgss/WR8hMWgW7WkWfr/B1j8yPrj4qvw4+dAoe68Uczu8gRUP36B5Xy4WQfcZs79ZG3QBEuLkvB0fYDtQH3bFmZQCmRrmCCTkVmIYlbRcZgfi25D/Wh/mHeH8fELwKIeAMsK7ec="; _levels[_local3]["block"] = _local4; break; case 14: _local3 = 15; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNqdlG1IU1EYx3d3z53Xu02XLogwG2UQ1QfDzChxq8wM15uJSAQ5nHMLdTbXmPZiuxpoFvZCxLTwQ+mHPvT2rahmS4uwJAyK1AwUhTIxEdFMW+fcl3mt47LOp8Pu//k9/+flLDyDYJSE2pTntLny5WpzfqmtoFgeWeAwuWzOMoYg3UBGlgEZoTSZi2zFZLizrCQfEGEl9lKGUAAtDariFznsTpPTZi9Gsjx7od0BKgNeGcEQMrlcDpBORsNvDKkCdIQQVmnUgEAgYCSicGLAiSlOnAxzpGpgfAglwSk9JbwUcptDqUlOXRWPzIdyAb9McwERfEAMDVZrwMFQaL6+SiNvBCOlfCNKa3rnnRiaaonkb1xglFhr8l9K5TN4VPNm+F3KZoXqCqWfblzV5hvuhn5U/E3S+6pUGpjxWYA40lllpRPvHcydPieNw0qDPaGDfZLMF66NR6cBng2YHGhWYpqgmrXiDUnFwY1kAd6SAW9ptpZ/DJztF5s1766CubUgNSp9AbsqPAUdDbShXkJQLywJyelxC6vHLywV3PT/iosT/S2sHtY6b54WelPP0PvYBJoygM9ZE0vq6whGrgIMF2eGv1boE9DRUL57Ta6Z9iNRuFmFaaO37i+sg3LFmjeZ7f7hWUiQwG04pb+dciaQ0erFWqllH+aOvoUlg2oteWXZZiklZ4ynwNvXV/C8hizPx8zouyc6cI4Un3ZvMd7rhSyFyUAendLNcWTgCIj13QtPvYZqya4Y7246/U7CIuWk8KqmHmROxJ+lKb3/cMnNM6UvOJaKZ9lI0VfFDpFlOWbWNHd+gCz21UiShCX8u8BotVBVvxhdRgSd1K67dWnp+T+jYV/urr0+uV4F5bTtaX5XKsuxAM+yTsrQQSyFBR0NZci+tq1andiLYRmUTf0HJjq64PvqWT3urzu0VurLPcO5QVXtFOZvsLjK+1imNFRVQk+ETiAnpBidXbPiZFs1wDmhafuyL6fKoZzSDTUc375dWpX7J1cLYjFCVb5nKY1P1PtkGJbev6tihrrxDcojp9oG945e4FjLeZbrlMhyU2K30y5fbUyMzcXM3Xcup+b+4qeDiBUYczAXB6Ssoh/i5Nzi5AxpDXRf3sa3ONbzgQOW1t4WxJro0O5JeindR8cjcXLOdHG3H3c6VubGViGW12shfgEIotf1"; _levels[_local3]["block"] = _local4; break; case 15: _local3 = 16; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjdGfk4mZkL8gv5mIULMovSSzJzM9jYWCuYBFhrmRpMWDkTy9KLMssqeRiZGFhYGNhYORNSS3OTM9j4k7Oz8kvYmn+P5OBNzG5JLMslYmzpLIglYWROzElNzOPmZGLkYGLkYnl////PiwsImwszT6MHHBjuJh4wHr5mARYOITgihlYWGzYWFpc4CpZUFSyCiEbu4yFpbEAj2pGITRHtBiwgfyEXTUzQnUUUKkMG4sGXCVQ+x8UxXwoipt98LgCw3c2YIWs+99zZ3hcWi/DxnqAH8JC0SaEYkMjD3E2QEKlKYQ41SB/urCxpEAcZP9nvurR/W9vAx3EA2HhCnsGiL7mEogVLOgRikWpCg6lSK5pNAEnk0YFiHNgocIGDylckcsA1teUAbECFFfotmAqZsGtmAPD9VDVrA74nYQRD2C9IUTpZcVIqy7woMAMNUaMfKDAxiKCO7kyosR5EzNexRwYaVsEmkDwp1gMLzSrkKEV5L4MIj3DeiCsc++nHqYlwOBNm20MBCZsrA71DmeA4Cxy8meG6mYWYBEWYoLrTqtp7tF6uxWou8opDQjSEWkanz6HsEqJzB9BN4D6sicwgADQ1poDCFtZD7DPXzjzeXw9UJx16s2l8cvOQcxauKgYZJYIwqz905j7P3c7HQaaVX4EbtbBmUAwC5pwWNf/EQy+mwwUZ29fevLLmcm4zDoQ1vbUoOkdyF1FCLMugX0GLXN+sqnc1ZdaCEyEc9ZwGKq9boKYte3jbpBZrEjuunTeO1884BbQrMQesM+AZlU5g8MYM4RmgnTLIYdQk2yc8pYQoO6aQ5CQhYcxYd3AWJ1iusX8FVB3CBtMd1kH2Edoups2zzwD0s2O0G1/PPiHbsQKUNblAOlrxuZmLPr237j3nDGw9ybQ1uCX4PAH6i7sQI5VFpN6q3mZh4HiHBdqF20TfoTLLIew9tOFgZ2tQLMaHGA+KAS7xBgaq+wy23p5hD4DxdkUz807Y1iLYRYAO6uSqQ=="; _levels[_local3]["block"] = _local4; break; case 16: _local3 = 17; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGfk4mZkL8gv5mIULMovSSzJzM9jYWCuYBFhrmRpMWDkTy9KLMssqeRiZGFhYGNhYORNSS3OTM9j4k7Oz8kvYmn+P5OBNzG5JLMslYmzpLIglYWROzElNzOPmZGLkYGLkYnl////PiwsImwszT6MHHBjuJh4wHr5mARYOITgihlYWGzYWFpc4CpZUFSyCiEbu4yFpbEAj2pGITRHtBiwgfyEXTUzQnUUUKkMG4sGXCVQ+x8UxXwoipt98LgCw3c2YIWs+99zZ3hcWi/DxnqAH8JC0SaEYkMjD3E2QEKlKYQ41SB/urCxpEAcZP9nvurR/W9vAx3EA2HhCnsGiL7mEogVLOgRikWpCg6lSK5pNAEnk0YFiHNgocIGDylckcsA1teUAbECFFfotmAqZsGtmAPD9VDVrA74nYQRD2C9IUTpZcVIqy7woMAMNUaMfKDAxiKCO7kyosR5EzNexRwYaVsEmkDwp1gMLzSrkKEV5L4MIj3D6uDWcfzwN04nYPAWPTYGATZWh/oKBhBATv7MUN3MAiziQkww3QfcJs/2FfZ+ANRdfOQMEJwF6i5onQkEs6B59ODrVrkdge+A4nw3xdq1mfggZu3ePRNkFj/CLAe39lun3MtBZhUxpQFBOlBPtRCYBQ2CVq1fWznPhQPF+f//+L/2hi3ErH/PwGbxIZtVqpn+4nYbyCxGsGuAekp4kdxlP3+5wvzJx3LBZh1MDJqegsusA25dU+866RwA+fE4KIBMgHrK+8EsqFkb/d4J3Z0bDzLr35W0iXwzcPox4ebhI3klTECzKoxhZpW8QvLjAUZ9qfn7yk6xsdof+rjy9/McNbBZTZtnngGZxYTsrolniu5u7ASala0MM6uiGMldDowJjp3m3seAGWYbMOR5vBwwzAIAnw1mUQ=="; _levels[_local3]["block"] = _local4; break; case 17: _local3 = 18; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGbk4mbkTUwuySxLZWIvyC/mYmSuYBERLMovSSzJzM9jYWCuZGkxYORNSS3OTM9j4k5Myc3MY+YsqSxIZWHkTy9KLMssqeRiZGFh4GBhYOROzs/JL2Jp/j+TgZGLkYGJCSQjwsby//9/Hw6WZh9GLiYeZj4WDgG4DiE0xTZsIPEWF6hKVphKFgyVjQVgc5chqWbErbrFAOYKoG8gqpnxqJZhY4niYNGAquSDqQSa8AdDcbMPWDHcFRy4zYX4zgaqUAikkHX/e+4Mj0vrZThYD/BDWJhe5SHahqYQjFDBo7rFBWxwCnJos9r/ma96dP/b20AH8UBYWPUBDWwuQYkmFmwRClOqguIarEqBCaXRhIOlUQE5OuGhwgEPKWwagVY0ZaAkA1Bc4bAFpJgFxT24FENdj6qa1YGwk0AaIfHQFIISusTr9UEPCuyh1qgAs0kEPRtgTa5NzOA4F0FPHfjStghqAiGcYptVYF4gWWtTBoqVuDzDzAQOzaL9xiDAxrr/wpK1M7fJc3KwOtQ7zgSCWYxczDxMfCySKMn/37OZWHXf4JQ90O3YA9RdyZQGAlDdKEVK0+aZZ5B1nwTbA9R9P9vf/VlXIFB30ZEzQHAW2W7W/cvatZl4vBw5gFnLMkIgyfcq0KzGs2fSkM06ANYHNGt9sEpwuLEn0KyMP8hmQXKDfUGS76WP68SAyefL7KWPg79fwOKuIwwgwMZqH3lf72KzmzPQrIg/mO6yP/Rx5e/nOWeBkcGyBewwWAgBAEtjQH8="; _levels[_local3]["block"] = _local4; break; case 18: _local3 = 19; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNqVVGtIU2EY3jn7zjpu2lL3I0u6gFGBmnaFyjyl0H4YFI4lBtF0zo2a07lkullu09BfFV1k9qObDKkfBhYUkmcWpkR3sYyKouhGF6MI87q+75zvyJlnM/t+HTjP87zv87zv98XsIpQqIs5Q7LBUlZBzym2VSkLuBJp4u81hcFhsZUAmrwb1GUScsaTSUlpGqgxGq6VMHuOoLi8BhLrUbqiyOKqVBAAyGsgIVbHtgM0OfCG/jFASMpJEfzQKEAqF8mjgyyOUZKx8LqDnTTESpoE95Rw6QIP6XIwmBDSQoH15ClAogtLRoZ7YWUO9OkkPM6DrczlhI0ZSCEllj59d1sN+e0FTwVj+KyIPCvocYiIAkUIRoClh3USEwrA9a2ngWSIOjwqqVWbtk/ZkmmKH+K9IRFjCaw4LHaYwHqUKAoOwfqKBcffhaIr5d0uIyM/BqwtLd/bcvOlRRE7Ns0SopJm+dMiVdEPk3Mw107cjIhgvqSZ8QYYEC8JspLwUwcJ/U73msJIzmqGY/PF78NxXUNntx3/Edy2YoCmm7o0JHSRAzgXzoq7/FFJBBfU1W3f/TkhFbIZTnAXb45WhA2tn1Si+b179ErJzRvzwtGA2yZlmr10JjNwqCSDTkytrM4eaInTC4E4YU+2zE5Z+G9Ta8VyspeYDbPd/aL15qQ5phRT5/otKqVZO/xp0FBS7Wpueo2PfIa0P4kxi+L7ajE1fUvKPcVr7t+xcd02qVfAGe2S7h1W96sF0pBXmkb8SbMtGndV8dZTTGiDcmlPStc6A7vSHksYWaU9BFe9SsQoxQ84GN54xo3dt+NnwQCM8x5CXyL8RdHO64enHxVAW1MzPfT+YIVVx93D14LTuNH1NrLgik6gwoGD79SOjp6EK3bHqXHfDmFTF+gfnweidOc2qwVIIdnmkMw/G9S3M+rH9KE1lD1t+dba6AiItOe6oW+io7bh2OdlShLbvNTc7QilHWpQ4FW+H/56IbZ6c2t06VaEz6SF88pMxj385sztbXGcGTiigrHqC+ry1boVUxQFwtkF9I3UyRCdz9wffALl0MucvVIrY1aSwtfrGT3f39AUkDohIDnCWVY1TtSvWNxgeL0RZusW3j8+SidW9zT0w/ghmOREcnp/mtEqzNNRjLfZy4RPtl9RM8TvwzyzLtcJUTa5aovmVFWZJz8L/QUZwYKrd67nYMQSrHt4WtarP7zeJ2PZbOD22syjtxiamG7Ldt8Xp0TP0bO/Ftzy472NXRf8R5Ng5gTeRY6sktf8CWcETRA=="; _levels[_local3]["block"] = _local4; break; case 19: _local3 = 20; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrj9GTk4mZkL8gv5mIULMovSSzJzM9jYWCuYBFhrmRpMWDkTy9KLMssqeRiZGFhYGNhYORNSS3OTM9j4k7Oz8kvYmn+P5OBNzG5JLMslYmzpLIglYWROzElNzOPmZGLkYGLkYnl////PiwsImwszT6MHHBjuJh4wHr5mARYOISQFS9jYWksYGNpccGhmhGhOooFaCgepRwoSht5iFMKcUNTCNEGt7iwsaTgUMmKUMkAUdlcQrxSFcL2N5qAA7dRgXBwMYBVNmUQrZKFsPVQlxKjFBKuYNUhhIMAkmxAqonxGjTdKLCxiBCVbJqYcavkwEhgIsQ6t1mFKMUgB2QQ41RW+/UTPwjuk/rLwuoQ/OcMEJxlY3VoeJAGBOk4dAsIMcF0Hwircgz/KqTDAtcD0u0ANoewbnvbKrZ3NkZ3gLobmxhAAKjb+edMIJiFQzcTQrdDWu31yZmX80F2O8Ds9r2JTzc/Qvd+Iw8955D9j4G6nS8bA4EJSPczfP7mRNJ98Dv3cf4bekDdEQ9gLvfF63IOJJeH1Un+lvOYCkx9BkB9TYr49DEihdeZp0p7dXc+AdqaUwKLq9IifG6WRoqrtIrJfCkMyUDd5REwN5dOwBdXyLoTbqx1Oj7JEai7aAfM7moLDN3MUN3MAizcSD52m1tlEyTgCtJ9Bq7bBOwKdN3bPu5G021//P1u8e4ZTSDdR2Auh8Y5uu5/z2aCdMsjp9FC3V2TypYCdWd3wHTXfsDqcqhuNpRQ27XoVaYEKNSOw9JJHQtWl2Pqtl/Qeb31PccjUBp1gtld3YKhGynMWZDTSfPcqoglW1HyZnUDvhgD6QYAf/dXLg=="; _levels[_local3]["block"] = _local4; break; case 20: _local3 = 21; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNqdlXtIU2EYxnfOvnOaZ9NNGaUhoWBQVFpmEWFtNglDhUhbEZGa87Ium80x0/KyKZhQUZTCDJQuiEW1IoOky9ZFiii6WFZ0pWhJWdofdjXX952zs33HuSV9fx3G+/y+93ne95yFZROMlJhUZixniEiT0Vxg1hsNQCTeDpTiStAwl5CXmAosenMlQwAgooGICNcVletLDKS00LjFaAL1HrsovKDQrLcUkWHmyrIiQEgLdFv1BjHBECKGIIHH48kCQEmD+ixC4sMwpIzVRpAKIInCizsAsJbRoCHdVw0E1YS/eh2A0BClEkGpVTaxUq4HW+6EwQ3pNNCxlZRqpH16j/Pzc5pyybgngY7y60Scrt7MXQHGhjJOaUKQUqwbawobtTWOa8cll5ZmPHTE0pRzkHsKFqWI1dlKuStgBCNjbwksBsGLJQHde6spdeiWAubAanMnpKWixiwd0nqjCEyNCNi6OBoofQNHrkLsnU0cslgSsKRK74IM8hb42YS2UJ/wH1LUX+kEzVAqx/6hyCtT/8B4c0buwHOXptR1b4rhKQmy/oookle7tFVpa4ajZgOfBqnVLOffatWSKvpLavILqLbaROhAteanHZ5WzrTz/JmOn9eKOpDp0ZnV8wabBCzSz1IXVz85oO81ok7UfCfZzzCWymF3H7t8og6xPHSO/SgjYMn9LGdyRqIm1/kOsjS98+FJQSy3PxPK2alr+pSQs49lbV66csF5ASsMY139Lr0pf5oIWWvf8B6zBR5bF+duLe36xbIeEzuVzWN2ye9RWxPze1pGM1ztuZBii/dTxvtQYjqTR+vYm8TuE6Wu6MFud9GrV3x71HYR/k5//K1uWmUgGDGkHD5SHiFWgCnYtF61puXlvdsMnRRb+IQrbvhnDQm726LNKfcRq2vPZEVnTDCWS1t7qq9L8RalMsBv3c5robZOgqv3WRbGZ8VBda2Gmw/+9xJCt2n/lA0VcqgzXeJvrXBhDpxnNmY//HoiFX5ihhTo8STrwHbOfgc5wFiqvpWdqam3LiDWddTDfMgyXcX3bdcB86VNVa/h72LdutiTkmQBi8HnU76o+4PDAllVy/lktzXhO1KHmjkdQ1OqH+jp+AiX7GVnG2LJMI/5ve+ruzNRNqYLvEeDlE3JyzoH26r5lQ5/J+dEaEF0M8caddsRC+B55bfMm7E+C018r6+vRtat12NH4yxSlvEN9jWa8DJparuLY927341Y4dh7cDZxT96yhkzIKuzn34OcASx71cHMZo17uIV9D9xphww1gjmKBe/Bg7zn8ccga8c2NiXEGmKp/Hfjdn+EI6yP/W5Mn7S6pT2A9RcXeRsR"; _levels[_local3]["block"] = _local4; break; case 21: _local3 = 22; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrj9GTk4mbkTUktzkzPY+IsqSxIZWHkTkzJzcxj5k1MLsksS2XiTy9KLMssqeRiZK5gYWCuZAGqSM7PyS9iaf4/k4G9IL+Yi5GLpbGAh6XFRbAovySxJDM/j+X////LGBm5GBmYmFg4WJjZmDhAqhh4gLr5wBoFQPymEJAuIRTVrDDVrPZ/5qse3f/2Ng/rAR4IC1lviwsPS4oQSxSmLSw8LAzoKptVhICCUKWMcCsO8HNneFxaL8PDuv89hIWsUYSHpVFBiKXRBEMjyMV/0KwBqm7KQLKFg5BiFmyKWR3wOgnkFxSNrKRoDEENaka8QQbyOlC1D0y1CAsT9mhkdfD9ORMIZvGwOjQ8YgABIdYDYfVb1OtX9cJ0y+HWHfEtDQRAuh+CzRFidQir3DdbfMlmRPDg1O3ncwYIzgJ11xyB2u0QVnur0nSPF8KfOHW7WMJcXuUKt7s6VE172TUidKc1G4MAUHdjI5gF9HdatYNlxOyViPjBqTuxDubveheYy9Pqp60yXh4G0y2IW3fNcbjdTXB/N2y5KRiYAtMtgFt3YyM8xh5CXe6QVueavrsyBqZbCKab1YHx1IFmobwZwIzIcOXv522ui1HMqneC+aPmCDguQKFQL7yaLeoNEaFQ7wF2PUj3Cbg/Gh8GLjiwgAjd0FgD+eMJ2BVCrPubbY8oljMwYPrjAKsp030dj16gP9i/bauKuymImoqfwfwBTc9As9ZOTynoUMzESAvAkuNteY8vZzEwt100vax9OnorilnJ0DTNIgLKCg3aUvJaahiJmfUA193cH6qBl4EOYky6tGPz8W4UQwrMYVFsfAYWsGHl5fdPG7/AdND+/3rvOQotpwHN4v54ITP1XBSKWWUlsGA2PgDPos2Vv6etvwUziw8R4RxGYpGOQilAs1g+ak/9te8LilnQJAM0y/kmPNM0qF74o++B6S77w6/bGHkEaoFm8f88o30hbw+KWdWtsAg03gxLiGGNNr1n2SF+ZIaEFzPErKUXt3jPtDEFqub/3/HLe0oq0KymzTPTIGYVXYJnKEeouw6klUT8WSw+AYtZ29q1mXi8bEF+hIQuqlnbYX4s3wVNWAfSko6yBfNNwTTrAP+/HffnMRnxsNpvEv2/40BfB4pZEX9gRVTRflgxEVav/XLSuzOYZjnw/3tYlBgcAzRrw9vks/vWMqKYVe8AN+sANE0AizuTvuTICqzu+rWw2yIYmEg3aM2c8nfqKxSzsithYV+0D+pHh7AMn0m9U1Qxzdq/If8DbwrTDlA8/vt4ZnrLA9TwOgVN8CmggIo6o3qF7To2z/3/V3657wTQc8VnVy6LjX2HYkj5YVigFx2GJ4Z+5fnTe1qwOKghyffSx3WioAicvfRx8Pfz2B3UGANyUczqC7zZDTBTWBHJYFHe9F7/e3tBZZvE5JI9WfVAU9rWWkENOQgPob3wFJW158TEa8DUCQAc5kkP"; _levels[_local3]["block"] = _local4; break; case 22: _local3 = 23; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGTk4mbkLKksSGVh5E1MLsksS2XiTkzJzcxj5k8vSizLLKnkYmSuYGFgrmRhYOROzs/JL2Jp/j+TgTcltTgzPY+JvSC/mIuRg0WEi6XFQLAovySxJDM/D6iWkYuRgYWDiYmFmQ0kz8AFFOMBa+VjEoDqaPYRYvn//78PRDErsmIWVMU2QONdhGDGMuJR2VgAUQo0dxlENTMe1S0GIHcju4IPWTVQ+A+aBhkuFg0hligs/kMzutkH4hCoUiGYUtb977kzPC6tl+FiPcAPYWH41UYIawiie5UHxQZ8SptC0EMFHtqs9n/mqx7d//Y20D08EBaal124WFLgtiBiiQUjSkEqm0uwuB2HUhXMGIWHCRc8nDCSTaOCEEujCXpSAMUVtkTWlIHFQTgVs2AqZnUg4CSQX5A0spKmMQQ5VhgJBBnI64i0yog/rTYqcLGIIJvOgV99EzNYfRRGAiGQYEEpnSx9KjD3Eeefpgxke8SYmFmYIEmGaWLRvqBfj7hYHbj4b17aXp4K0jfzzFM+ZgFwNKS1pYEAUL78GJglxOoQ1v1KYQWjH8QsUbhZ9i8ml+zJqvvFxWr/N8Gx09z7BMishYuKYWZFfIOZVe9sDAJAs9Jqq7+8dS9AN8uBSeq5rFqeLchdSXu/PVozEWhW0+aZZ2BmVXmDTQC568AZIDgrxHogrNHRlEt8Brof9z/3Prb8/dxdQHf9zCjaoHBkNpq76u1hZtU7wMxKqxdbcOb+HkZGAJ6rNGE="; _levels[_local3]["block"] = _local4; break; case 23: _local3 = 24; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrjtGbk4mbkLKksSGVh5E1MLsksS2XiTkzJzcxj5k8vSizLLKnkYmSuYGFgrmRhYOROzs/JL2Jp/j+TgTcltTgzPY+JvSC/mIuRg0WEi6XFQLAovySxJDM/D6iWkYuRgYWDiYmFmQ0kz8AFFOMBa+VjEoDqaPYRYvn//78PRDErsmIWVMU2QONdhGDGMuJR2VgAUQo0dxlENTMe1S0GIHcju4IPWTVQ+A+aBhkuFg0hligs/kMzutkH4hCoUiGYUtb977kzPC6tl+FiPcAPYWH41UYIawiie5UHxQZ8SptC0EMFHtqs9n/mqx7d//Y20D08EBaal124WFLgtiBiiQUjSkEqm0uwuB2HUhXMGIWHCRc8nDCSTaOCEEujCXpSAMUVtkTWlIHFQTgVs2AqZnUg4CSQX5A0spKmMQQ5VhgJBBnI64i0yog/rTYqcLGIIJvOgV99EzNYfRRGAiGQYEEpnSx9KjD3Eeefpgxke0SYmFmYIPb8LxKdN2/PZi5WB+57v9QNkvmB+pr+77/PxywAjoYC15lAMAsoX37aGASEWB3Cks7fvGfwBN2s/d+vSW+vOywCVMu7aUG+9NWtILM2zzwDMQuUkVgd6p3SQECI9UBYa0C+7olADFM+ST/8yqj2GKiWb6MVd7/IfBRTWB1KrcHuAMoXOILdJsS6/+Fdy3mPWQ9j+O7Pzb4X6nUmoOw5oeJyyQ82WKhAzap3OAMEZ4FmRbwBs0C+q83Vkf+siG7WAQ7OFx57PvYBzWKVt6v8n9wPMcsYZlbEN7DPuOAsoLsO6EnKizDZMjICAJBiSG0="; _levels[_local3]["block"] = _local4; break; case 24: _local3 = 25; _local3--; _levels[_local3] = new Object(); _levels[_local3]["level"] = {bonus_score:((10 * 2) * _local3), time_max:25000, time_min:10000, pos:{x:0, y:0, rotation:0}}; _levels[_local3]["bg"] = {skinName:1, w:null, h:null}; _local4 = "eNrj9Gbk4mbkLKksSGVh5E1MLsksS2XiTkzJzcxj5k8vSizLLKnkYmSuYGFgrmRhYOROzs/JL2Jp/j+TgTcltTgzPY+JvSC/mIuRg0WEi6XFQLAovySxJDM/D6iWkYuRgYWDiYmFmQ0kz8AFFOMBa+VjEoDqaPYRYvn//78PRDErsmIWVMU2QONdhGDGMuJR2VgAUQo0dxlENTMe1S0GIHcju4IPWTVQ+A+aBhkuFg0hligs/kMzutkH4hCoUiGYUtb977kzPC6tl+FiPcAPYWH41UYIawiie5UHxQZ8SptC0EMFHtqs9n/mqx7d//Y20D08EBaal124WFLgtiBiiQUjSkEqm0uwuB2HUhXMGIWHCRc8nDCSTaOCEEujCXpSAMUVtkTWlIHFQTgVs2AqZnUg4CSQX5A0spKmMQQ5VhgJBBnI64i0yog/rTYqcLGIIJvOgV99EzNYfRRGAiGQYEEpnSx9KjD3Eeefpgxke+SZmFmYIBnqx58zssvbN3CxOvCWXvry8L0UTB8zJBwKgTINTgwgIMRqP+He6xbTVTPRTEHJNGB9rA55amkgANRd3W0MAkKsDmk1ned6l+YRobusGqwHpLsHaveBtFqToi8RB9F9YP/D5fe2HczrQD6Yo7Llr08luln1MLPg/thfvnzV7dt7zkDMkkUyy0HbqfVdGMisuYpK5XagUG9bawU3qnYmEMwCStdxnAGCs0BPhTVtWaJi9RPdqP1f1mybu7tTGaiWz+PEtgvb5VGNylNEGAV1lUNY5dwqfpEqWNELd9WvxYcOxD3fBHKVxIwOX34mkA//PZsJMytTG+bDSkGwqUAfHv4fzbC7+imGWdt7/e9bJ1/jYrX/97Liyt/PO9HMqvgD9hiyWQ5hc1e8KtdWhxXGMLMOMG2bpbBqBh9QLedXS8vnalZoIV9lD3NX+Q24H+et3XpIIh7dLAcmtfS9NuryQLVcUVcPydsEoJmVtg6WnsqvgVlAPx6I8Pxed+8/xCw5hB+XPJ0Z7TP1JlAt//9Jl8+6caOZlb0QFvZFN+DRmJN8LdzfFsOs5buOTuHXyQGbVWxx02kLmlnlp2DuKroCyyX3Hq2IW8J7DlZwwM1akOR76eOK70C1rPpS8/eVnQKa1Xj2TBrMrKKzMHcV+EH9eCBs4tHNlz4dZWQEABuQ29w="; _levels[_local3]["block"] = _local4; break; }; } public static function setNextLive():Number{ var _local1:Number; _local1 = (_live - 1); if (_local1 <= 0){ return (-1); }; return (1); } public static function getCurrentScore():Number{ return ((_score[_current_level] as Number)); } public static function clearAll():void{ var _local1:uint; _score = new Array(); _key = new Array(); _win = new Array(); _live = _max_live; _local1 = 0; while (_local1 < _max_level) { _score.push(0); _key.push(null); _win.push(false); _local1++; }; } public static function toAngle(_arg1:Number):Number{ return (((_arg1 * 180) / Math.PI)); } public static function setNextLevel():Number{ var _local1:Number; _local1 = (Number(_current_level) + 1); trace(("setNextLevel " + _local1)); if (_local1 >= _max_level){ return (-1); }; return (_local1); } public static function base64ToByteArray(_arg1):ByteArray{ return (Base64.decodeToByteArray(_arg1)); } public static function getURL(_arg1:String, _arg2:String="_blank"):void{ var _local3:URLRequest; _local3 = new URLRequest(_arg1); navigateToURL(_local3, _arg2); } public static function iniSoundAndMusic():void{ if (Global._game_stored_data.data.soundVolumeFlag == 1){ Global.sound_game.(Global._sound_volume_game); } else { Global.sound_game.(0); }; if (Global._game_stored_data.data.musicVolumeFlag == 1){ Global.music_game. (Global._music_volume_game); } else { Global.music_game. (0); }; } public static function fromWorldX(_arg1:Number):Number{ return ((_arg1 * _box2d_phys_scale)); } public static function getGroundIndex(_arg1:Number):String{ var _local2:String; trace(("getGroundIndex >> " + _arg1)); _local2 = "E"; if (_arg1 <= 100){ _local2 = "A"; }; if (_arg1 <= 90){ _local2 = "B"; }; if (_arg1 <= 65){ _local2 = "C"; }; if (_arg1 <= 35){ _local2 = "D"; }; if (_arg1 <= 10){ _local2 = "E"; }; return (_local2); } public static function clone(_arg1:Object, _arg2:Boolean=false):Object{ var _local3:ByteArray; var _local4:Object; _local3 = new ByteArray(); _local3.writeObject(_arg1); _local3.position = 0; _local4 = (_local3.readObject() as Object); return (_local4); } public static function toWorldY(_arg1:Number):Number{ return ((_arg1 / _box2d_phys_scale)); } public static function setLevelScore(_arg1:int=0, _arg2:Number=0, _arg3:Number=1):void{ var _local4:uint; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; trace(((("kofBonus " + _arg2) + " ") + _arg3)); if (_game_stored_data.data["map"] == undefined){ _game_stored_data.data["map"] = new Array(); _local4 = 0; while (_local4 < _max_level) { Global._game_stored_data.data["map"][_local4] = {lock:true}; if (_local4 == 0){ Global._game_stored_data.data["map"][_local4].lock = false; }; _local4++; }; }; if (_arg2 < _levels[_current_level]["level"].time_min){ _arg2 = _levels[_current_level]["level"].time_min; }; if (_arg2 > _levels[_current_level]["level"].time_max){ _arg2 = _levels[_current_level]["level"].time_max; }; _local5 = (1 - ((_arg2 - _levels[_current_level]["level"].time_min) / (_levels[_current_level]["level"].time_max - _levels[_current_level]["level"].time_min))); _local6 = _arg3; _local7 = ((_local5 + _local6) / 2); trace((((">>>>>>>>>> " + _local5) + " ") + _local6), _local7); _local8 = Math.round((_levels[_current_level]["level"].bonus_score * _local7)); if (_arg1 == 1){ _local4 = 0; while (_local4 < open_level[_current_level].length) { Global._game_stored_data.data["map"][open_level[_current_level][_local4]].lock = false; _local4++; }; _score[_current_level] = (_score[_current_level] + _local8); _win[_current_level] = getGroundIndex((100 * _local7)); _key[_current_level] = new MD5().hash((_score[_current_level] + _huy)); _bonus_info = String(getGlobalScore()); } else { _win[_current_level] = false; if (_arg1 == -1){ _score[_current_level]; _key[_current_level] = new MD5().hash((_score[_current_level] + _huy)); } else { _score[_current_level] = 0; _key[_current_level] = null; }; _bonus_info = String(getGlobalScore()); _live = (_live - 1); }; } public static function fromWorldY(_arg1:Number):Number{ return ((_arg1 * _box2d_phys_scale)); } public static function addScore(_arg1:Number):Number{ _score[_current_level] = (_score[_current_level] + _arg1); if (_score[_current_level] < 0){ _score[_current_level] = 0; }; return (_score[_current_level]); } public static function getGlobalScore(_arg1:Number=-1):Number{ var _local2:Number; var _local3:MD5; var _local4:uint; _local2 = 0; _local3 = new MD5(); _local4 = 0; while (_local4 < _score.length) { trace(((((_local4 + " ") + _key[_local4]) + " --- ") + _local3.hash((_score[_local4] + _huy)))); if (((!((_local4 == _arg1))) && ((_key[_local4] == _local3.hash((_score[_local4] + _huy)))))){ _local2 = (_local2 + _score[_local4]); }; _local4++; }; return (_local2); } public static function toWorldX(_arg1:Number):Number{ return ((_arg1 / _box2d_phys_scale)); } public static function uncrypt(_arg1:String):Object{ var ba:ByteArray; var str = _arg1; try { ba = Base64.decodeToByteArray(str); ba.uncompress(); ba.position = 0; return (ba.readObject()); } catch(e:Error) { trace("ERROR UNCRIPT STRING"); }; return ((new Array() as Object)); } public static function iniBox2World(_arg1:b2World):void{ _box2d_world = _arg1; } public static function toRadian(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } public static function crypt(_arg1:Object):String{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.writeObject(_arg1); _local2.compress(); return (Base64.encodeByteArray(_local2)); } public static function angleTransform(_arg1:Number):Number{ if (_arg1 > 180){ _arg1 = (_arg1 - 360); } else { if (_arg1 < -180){ _arg1 = (_arg1 + 360); }; }; return (_arg1); } public static function iniGame(_arg1:MovieClip):void{ var _local2:String; _game = _arg1; _score[_current_level] = 0; _win[_current_level] = false; for (_local2 in _keyFlags) { _keyFlags[_local2] = false; }; } public static function iniUrls(_arg1:Stage=null):void{ var _local2:String; var _local3:String; _local2 = GamezheroGlobal.getDomain(_arg1); _local3 = GamezheroGlobal.gameName; _urls["send_to_friends"] = (((((("http://www.gamezhero.com/sendtofriends/" + _local3) + "-games.html?utm_campaign=") + _local3) + "&utm_source=") + _local2) + "&utm_medium=send_to_friends"); _urls["play_more_games"] = (((("http://www.gamezhero.com/?utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=more_free_games"); _urls["zorro_logo"] = (((("http://www.gamezhero.com/?utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=zorro_logo"); _urls["put_this_game"] = (((((("http://www.gamezhero.com/freewebsitegames/" + _local3) + "-games.html?utm_campaign=") + _local3) + "&utm_source=") + _local2) + "&utm_medium=free_web_site_games"); _urls["view_top_score"] = (((((("http://www.gamezhero.com/topscore/" + _local3) + "/?utm_campaign=") + _local3) + "&utm_source=") + _local2) + "&utm_medium=top_score"); _urls["release"] = (((((("http://www.gamezhero.com/online-games/puzzle-games/" + _local3) + "-onlinegames.html?utm_campaign=") + _local3) + "&utm_source=") + _local2) + "&utm_medium=release"); _urls["error"] = (((("http://www.gamezhero.com/?utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=error"); _urls["preloader"] = (((("http://www.gamezhero.com/?utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=preloader"); _urls["play_more_games_context"] = (((("http://www.gamezhero.com/?utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=context_menu"); _urls["put_this_game_context"] = (((((("http://www.gamezhero.com/freewebsitegames/" + _local3) + "-onlinegames.html?utm_campaign=") + _local3) + "&utm_source=") + _local2) + "&utm_medium=free_web_site_games_context"); _urls["send_to_friends_context"] = (((((("http://www.gamezhero.com/sendtofriends/" + _local3) + "-onlinegames.html?utm_campaign=") + _local3) + "&utm_source=") + _local2) + "&utm_medium=send_to_friends_context_menu"); _urls["copyright"] = (((("<a target='_blank' href='http://www.gamezhero.com/?utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=copyright'>copyright © gamezhero.com</a>"); _urls["youtube"] = "http://www.youtube.com/watch?v=-VCDQ9Ra_D8"; _urls["shared_levels"] = (((("utm_campaign=" + _local3) + "&utm_source=") + _local2) + "&utm_medium=shared_levels"); } _keys["esc"] = 27; _keys["space"] = 32; _keys["shift"] = 16; _keys["h"] = 72; _keys["p"] = 80; pauseLanguage[gameFormLanguage.DEU] = new Object(); pauseLanguage[gameFormLanguage.DEU][PauseMenu.BTN_EXIT] = "SPIEL VERLASSEN"; pauseLanguage[gameFormLanguage.DEU][PauseMenu.BTN_GAMEZHERO] = "GAMEZHERO.COM"; pauseLanguage[gameFormLanguage.DEU][PauseMenu.BTN_MUSIC] = "MUSIK"; pauseLanguage[gameFormLanguage.DEU][PauseMenu.BTN_SOUND] = "LAUT"; pauseLanguage[gameFormLanguage.DEU][PauseMenu.BTN_PLAY] = "WEITERSPIELEN"; pauseLanguage[gameFormLanguage.FRA] = new Object(); pauseLanguage[gameFormLanguage.FRA][PauseMenu.BTN_EXIT] = "QUITTER LE JEU"; pauseLanguage[gameFormLanguage.FRA][PauseMenu.BTN_GAMEZHERO] = "GAMEZHERO.COM"; pauseLanguage[gameFormLanguage.FRA][PauseMenu.BTN_MUSIC] = "GESTION DE MUSIQUE"; pauseLanguage[gameFormLanguage.FRA][PauseMenu.BTN_SOUND] = "GESTION DE SON"; pauseLanguage[gameFormLanguage.FRA][PauseMenu.BTN_PLAY] = "CONTINUER LE JEU"; pauseLanguage[gameFormLanguage.PRT] = new Object(); pauseLanguage[gameFormLanguage.PRT][PauseMenu.BTN_EXIT] = "SAIR DO JOGO"; pauseLanguage[gameFormLanguage.PRT][PauseMenu.BTN_GAMEZHERO] = "GAMEZHERO.COM"; pauseLanguage[gameFormLanguage.PRT][PauseMenu.BTN_MUSIC] = "CONTROLO DA MÚSICA"; pauseLanguage[gameFormLanguage.PRT][PauseMenu.BTN_SOUND] = "CONTROLO DO SOM"; pauseLanguage[gameFormLanguage.PRT][PauseMenu.BTN_PLAY] = "CONTINUAR O JOGO"; pauseLanguage[gameFormLanguage.ESP] = new Object(); pauseLanguage[gameFormLanguage.ESP][PauseMenu.BTN_EXIT] = "RETIRA DEL JUEGO"; pauseLanguage[gameFormLanguage.ESP][PauseMenu.BTN_GAMEZHERO] = "GAMEZHERO.COM"; pauseLanguage[gameFormLanguage.ESP][PauseMenu.BTN_MUSIC] = "AJUSTA LA MÚSICA"; pauseLanguage[gameFormLanguage.ESP][PauseMenu.BTN_SOUND] = "AJUSTA EL SONIDO"; pauseLanguage[gameFormLanguage.ESP][PauseMenu.BTN_PLAY] = "CONTINÚA EL JUEGO"; pauseLanguage[gameFormLanguage.RUS] = new Object(); pauseLanguage[gameFormLanguage.RUS][PauseMenu.BTN_EXIT] = "Выйти Из Игры"; pauseLanguage[gameFormLanguage.RUS][PauseMenu.BTN_GAMEZHERO] = "Играть на Gamezhero.com"; pauseLanguage[gameFormLanguage.RUS][PauseMenu.BTN_MUSIC] = "Управление Музыкой"; pauseLanguage[gameFormLanguage.RUS][PauseMenu.BTN_SOUND] = "Управление Звуком"; pauseLanguage[gameFormLanguage.RUS][PauseMenu.BTN_PLAY] = "Продолжить Игру"; pauseLanguage[gameFormLanguage.ENG] = new Object(); pauseLanguage[gameFormLanguage.ENG][PauseMenu.BTN_EXIT] = "Quit Game"; pauseLanguage[gameFormLanguage.ENG][PauseMenu.BTN_GAMEZHERO] = "Visit Gamezhero.com"; pauseLanguage[gameFormLanguage.ENG][PauseMenu.BTN_MUSIC] = "Music Control"; pauseLanguage[gameFormLanguage.ENG][PauseMenu.BTN_SOUND] = "Sound Control"; pauseLanguage[gameFormLanguage.ENG][PauseMenu.BTN_PLAY] = "Continue Game"; pauseLanguage[gameFormLanguage.UKR] = new Object(); pauseLanguage[gameFormLanguage.UKR][PauseMenu.BTN_EXIT] = "Покинути Гру"; pauseLanguage[gameFormLanguage.UKR][PauseMenu.BTN_GAMEZHERO] = "Грати На Gamezhero.com"; pauseLanguage[gameFormLanguage.UKR][PauseMenu.BTN_MUSIC] = "Керування Музикой"; pauseLanguage[gameFormLanguage.UKR][PauseMenu.BTN_SOUND] = "Керування Звуком"; pauseLanguage[gameFormLanguage.UKR][PauseMenu.BTN_PLAY] = "Продовжити Гру"; pauseLanguage[gameFormLanguage.POL] = new Object(); pauseLanguage[gameFormLanguage.POL][PauseMenu.BTN_EXIT] = "Opuść Grę"; pauseLanguage[gameFormLanguage.POL][PauseMenu.BTN_GAMEZHERO] = "Odwiedź Gameshero.com"; pauseLanguage[gameFormLanguage.POL][PauseMenu.BTN_MUSIC] = "Sterowanie Muzyką"; pauseLanguage[gameFormLanguage.POL][PauseMenu.BTN_SOUND] = "Sterowanie Dźwiękiem"; pauseLanguage[gameFormLanguage.POL][PauseMenu.BTN_PLAY] = "Kontynuuj Grę"; pauseLanguage[gameFormLanguage.ITA] = new Object(); pauseLanguage[gameFormLanguage.ITA][PauseMenu.BTN_EXIT] = "USCIRE DAL GIOCO"; pauseLanguage[gameFormLanguage.ITA][PauseMenu.BTN_GAMEZHERO] = "GAMEZHERO.COM"; pauseLanguage[gameFormLanguage.ITA][PauseMenu.BTN_MUSIC] = "CONTROLLO DELLA MUSICA"; pauseLanguage[gameFormLanguage.ITA][PauseMenu.BTN_SOUND] = "CONTROLLO DEL SUONO"; pauseLanguage[gameFormLanguage.ITA][PauseMenu.BTN_PLAY] = "CONTINUARE IL GIOCO"; open_level[0] = [1]; open_level[1] = [2]; open_level[2] = [3]; open_level[3] = [4]; open_level[4] = [5]; open_level[5] = [6, 7]; open_level[6] = [7, 8]; open_level[7] = [8, 9]; open_level[8] = [9, 10]; open_level[9] = [10, 11]; open_level[10] = [11, 12]; open_level[11] = [12, 13]; open_level[12] = [13, 14]; open_level[13] = [14, 15]; open_level[14] = [15, 16]; open_level[15] = [16, 17]; open_level[16] = [17, 18]; open_level[17] = [18, 19]; open_level[18] = [19, 20]; open_level[19] = [20, 21]; open_level[20] = [21, 22]; open_level[21] = [22, 23]; open_level[22] = [23, 24]; open_level[23] = [24]; open_level[24] = []; open_level[25] = []; _block_gallery["block_type_1"] = {skinClass:"type1", type:1, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-20, y:-40}, {x:20, y:-40}, {x:20, y:40}, {x:-20, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:2, angles:[0, 180]}; _block_gallery["block_type_2"] = {skinClass:"type2", type:2, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-40, y:-40}, {x:40, y:-40}, {x:40, y:40}, {x:-40, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:4, angles:[0, 90, 180, 270, 360]}; _block_gallery["block_type_3"] = {skinClass:"type3", type:3, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-40, y:-40}, {x:0, y:-40}, {x:0, y:40}, {x:-40, y:40}]}, {type:"poligon", x:0, y:-40, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0]}; _block_gallery["block_type_4"] = {skinClass:"type4", type:4, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:40, y:-40}, {x:40, y:40}, {x:-40, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:2, angles:[0]}; _block_gallery["block_type_5"] = {skinClass:"type5", type:5, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-20, y:-20}, {x:20, y:-20}, {x:20, y:20}, {x:-20, y:20}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:1, angles:[0, 90, 180, 270, 360]}; _block_gallery["block_type_6"] = {skinClass:"type6", type:6, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-40, y:-40}, {x:40, y:-40}, {x:40, y:0}, {x:0, y:40}, {x:-40, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3.5, angles:[0]}; _block_gallery["block_type_7"] = {skinClass:"type7", type:7, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-40, y:0}, {x:0, y:-40}, {x:40, y:-40}, {x:40, y:0}, {x:0, y:40}, {x:-40, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0, 180]}; _block_gallery["block_type_8"] = {skinClass:"type8", type:8, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-20, y:-60}, {x:20, y:-60}, {x:20, y:60}, {x:-20, y:60}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0, 180]}; _block_gallery["block_type_9"] = {skinClass:"type9", type:9, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-40, y:-60}, {x:40, y:-60}, {x:40, y:60}, {x:-40, y:60}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:6, angles:[0, 180]}; _block_gallery["block_type_10"] = {skinClass:"type10", type:10, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-60, y:-60}, {x:60, y:-60}, {x:60, y:60}, {x:-60, y:60}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:9, angles:[0, 90, 180, 270, 360]}; _block_gallery["block_type_11"] = {skinClass:"type11", type:11, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:60, y:-60}, {x:60, y:60}, {x:-60, y:60}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:4.5, angles:[0]}; _block_gallery["block_type_12"] = {skinClass:"type12", type:12, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:40, y:-60}, {x:40, y:60}, {x:-40, y:60}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0]}; _block_gallery["block_type_13"] = {skinClass:"type13", type:13, primitives:[{type:"poligon", x:0, y:0, vertices:[{x:-40, y:-60}, {x:40, y:60}, {x:-40, y:60}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0]}; _block_gallery["block_type_14"] = {skinClass:"type14", type:14, primitives:[{type:"poligon", x:-40, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:120}, {x:0, y:120}]}, {type:"poligon", x:0, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:4, angles:[0]}; _block_gallery["block_type_15"] = {skinClass:"type15", type:15, primitives:[{type:"poligon", x:0, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:120}, {x:0, y:120}]}, {type:"poligon", x:-40, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:4, angles:[0]}; _block_gallery["block_type_16"] = {skinClass:"type16", type:16, primitives:[{type:"poligon", x:-40, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:120}, {x:0, y:120}]}, {type:"poligon", x:0, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:80}, {x:0, y:80}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:5, angles:[0]}; _block_gallery["block_type_17"] = {skinClass:"type17", type:17, primitives:[{type:"poligon", x:0, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:120}, {x:0, y:120}]}, {type:"poligon", x:-40, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:80}, {x:0, y:80}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:5, angles:[0]}; _block_gallery["block_type_18"] = {skinClass:"type18", type:18, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:120}, {x:0, y:120}]}, {type:"poligon", x:-20, y:-60, vertices:[{x:0, y:0}, {x:80, y:0}, {x:80, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:5, angles:[0]}; _block_gallery["block_type_19"] = {skinClass:"type19", type:19, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:80, y:0}, {x:80, y:120}, {x:0, y:120}]}, {type:"poligon", x:20, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:80}, {x:0, y:80}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:8, angles:[0]}; _block_gallery["block_type_20"] = {skinClass:"type20", type:20, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:120}, {x:0, y:120}]}, {type:"poligon", x:-20, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:80}, {x:0, y:80}]}, {type:"poligon", x:20, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:6, angles:[0]}; _block_gallery["block_type_21"] = {skinClass:"type21", type:21, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:120, y:0}, {x:120, y:80}, {x:0, y:80}]}, {type:"poligon", x:-60, y:20, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:7, angles:[0]}; _block_gallery["block_type_22"] = {skinClass:"type22", type:22, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:120, y:0}, {x:120, y:80}, {x:0, y:80}]}, {type:"poligon", x:20, y:20, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:7, angles:[0]}; _block_gallery["block_type_23"] = {skinClass:"type23", type:23, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:120, y:0}, {x:120, y:80}, {x:80, y:120}, {x:0, y:120}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:8.5, angles:[0]}; _block_gallery["block_type_24"] = {skinClass:"type24", type:24, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:80}, {x:80, y:0}, {x:120, y:0}, {x:120, y:40}, {x:40, y:120}, {x:0, y:120}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:6, angles:[0, 180]}; _block_gallery["block_type_25"] = {skinClass:"type25", type:25, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:40}, {x:40, y:0}, {x:80, y:0}, {x:120, y:40}, {x:120, y:80}, {x:80, y:120}, {x:40, y:120}, {x:0, y:80}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:7, angles:[0, 90, 180, 270, 360]}; _block_gallery["block_type_26"] = {skinClass:"type26", type:26, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:40}, {x:40, y:0}, {x:120, y:0}, {x:120, y:80}, {x:80, y:120}, {x:0, y:120}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:8, angles:[0, 180]}; _block_gallery["block_type_27"] = {skinClass:"type27", type:27, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:0}, {x:80, y:0}, {x:120, y:40}, {x:120, y:80}, {x:80, y:120}, {x:0, y:120}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:8, angles:[0]}; _block_gallery["block_type_28"] = {skinClass:"type28", type:28, primitives:[{type:"poligon", x:-60, y:-60, vertices:[{x:0, y:60}, {x:60, y:0}, {x:120, y:60}, {x:60, y:120}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0, 90, 180, 270, 360]}; _block_gallery["block_type_29"] = {skinClass:"type29", type:29, primitives:[{type:"poligon", x:-40, y:-40, vertices:[{x:0, y:40}, {x:40, y:0}, {x:80, y:40}, {x:40, y:80}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:2, angles:[0, 90, 180, 270, 360]}; _block_gallery["block_type_30"] = {skinClass:"type30", type:30, primitives:[{type:"poligon", x:-60, y:-20, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:80}, {x:0, y:80}]}, {type:"poligon", x:-20, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:80}, {x:0, y:80}]}, {type:"poligon", x:20, y:-60, vertices:[{x:0, y:0}, {x:40, y:0}, {x:40, y:40}, {x:0, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:5, angles:[0]}; _block_gallery["block_type_31"] = {skinClass:"type31", type:31, primitives:[{type:"poligon", x:-40, y:-40, vertices:[{x:0, y:0}, {x:80, y:80}, {x:0, y:80}]}, {type:"poligon", x:0, y:0, vertices:[{x:0, y:0}, {x:40, y:-40}, {x:40, y:40}]}], pos:{x:0, y:0, rotation:0}, fixed:false, physics:{density:density, friction:friction, restitution:restitution, mass:10}, score:10, square:3, angles:[0]}; } }//package com.gamezhero
Section 138
//AbstractCollection (org.cove.ape.AbstractCollection) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractCollection { private var  :Sprite; private var  :Boolean; private var  :Array; private var  :Array; public function AbstractCollection(){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractCollection"){ throw (new ArgumentError("AbstractCollection can't be instantiated directly")); };   = false;   = new Array();  = new Array(); } public function getAll():Array{ return (particles.concat(constraints)); } function checkCollisionsVsCollection(_arg1:AbstractCollection):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:AbstractParticle; var _local6:int; var _local7:int; var _local8:int; var _local9:AbstractParticle; var _local10:SpringConstraint; var _local11:SpringConstraint; var _local12:int; _local2 =  .length; _local3 = 0; while (_local3 < _local2) { _local5 =  [_local3]; if (!_local5.collidable){ } else { _local6 = _arg1.particles.length; _local7 = 0; while (_local7 < _local6) { _local9 = _arg1.particles[_local7]; if (_local9.collidable){ CollisionDetector.test(_local5, _local9); }; _local7++; }; _local8 = _arg1.constraints.length; _local7 = 0; while (_local7 < _local8) { _local10 = _arg1.constraints[_local7]; if (((_local10.collidable) && (!(_local10.isConnectedTo(_local5))))){ _local10.scp.updatePosition(); CollisionDetector.test(_local5, _local10.scp); }; _local7++; }; }; _local3++; }; _local4 =  .length; _local3 = 0; while (_local3 < _local4) { _local11 =  [_local3]; if (!_local11.collidable){ } else { _local6 = _arg1.particles.length; _local12 = 0; while (_local12 < _local6) { _local9 = _arg1.particles[_local12]; if (((_local9.collidable) && (!(_local11.isConnectedTo(_local9))))){ _local11.scp.updatePosition(); CollisionDetector.test(_local9, _local11.scp); }; _local12++; }; }; _local3++; }; } public function get sprite():Sprite{ if (  != null){ return ( ); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); };   = new Sprite(); APEngine.container.addChild( ); return ( ); } function checkInternalCollisions():void{ var _local1:int; var _local2:int; var _local3:AbstractParticle; var _local4:int; var _local5:int; var _local6:int; var _local7:AbstractParticle; var _local8:SpringConstraint; _local1 =  .length; _local2 = 0; while (_local2 < _local1) { _local3 =  [_local2]; if (!_local3.collidable){ } else { _local4 = (_local2 + 1); while (_local4 < _local1) { _local7 =  [_local4]; if (_local7.collidable){ CollisionDetector.test(_local3, _local7); }; _local4++; }; _local5 =  .length; _local6 = 0; while (_local6 < _local5) { _local8 =  [_local6]; if (((_local8.collidable) && (!(_local8.isConnectedTo(_local3))))){ _local8.scp.updatePosition(); CollisionDetector.test(_local3, _local8.scp); }; _local6++; }; }; _local2++; }; } public function  (_arg1:AbstractParticle):void{ particles.push(_arg1); if (isParented){ _arg1.init(); }; } public function  (_arg1:AbstractConstraint):void{ var _local2:int; _local2 = constraints.indexOf(_arg1); if (_local2 == -1){ return; }; constraints.splice(_local2, 1); _arg1.cleanup(); } function get isParented():Boolean{ return ( ); } public function init():void{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { particles[_local1].init(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].init(); _local1++; }; } function satisfyConstraints():void{ var _local1:int; var _local2:int; var _local3:AbstractConstraint; _local1 =  .length; _local2 = 0; while (_local2 < _local1) { _local3 =  [_local2]; _local3.resolve(); _local2++; }; } public function paint():void{ var _local1:AbstractParticle; var _local2:int; var _local3:int; var _local4:SpringConstraint; _local2 =  .length; _local3 = 0; while (_local3 < _local2) { _local1 =  [_local3]; if (((!(_local1.fixed)) || (_local1.alwaysRepaint))){ _local1.paint(); }; _local3++; }; _local2 =  .length; _local3 = 0; while (_local3 < _local2) { _local4 =  [_local3]; if (((!(_local4.fixed)) || (_local4.alwaysRepaint))){ _local4.paint(); }; _local3++; }; } public function  (_arg1:AbstractConstraint):void{ constraints.push(_arg1); if (isParented){ _arg1.init(); }; } function set isParented(_arg1:Boolean):void{   = _arg1; } public function  (_arg1:AbstractParticle):void{ var _local2:int; _local2 = particles.indexOf(_arg1); if (_local2 == -1){ return; }; particles.splice(_local2, 1); _arg1.cleanup(); } public function cleanup():void{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { particles[_local1].cleanup(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].cleanup(); _local1++; }; } public function get particles():Array{ return ( ); } function integrate(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:AbstractParticle; _local2 =  .length; _local3 = 0; while (_local3 < _local2) { _local4 =  [_local3]; _local4.update(_arg1); _local3++; }; } public function get constraints():Array{ return ( ); } } }//package org.cove.ape
Section 139
//AbstractConstraint (org.cove.ape.AbstractConstraint) package org.cove.ape { import flash.utils.*; public class AbstractConstraint extends AbstractItem { private var :Number; public function AbstractConstraint(_arg1:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractConstraint"){ throw (new ArgumentError("AbstractConstraint can't be instantiated directly")); }; this.stiffness = _arg1; (); } public function get stiffness():Number{ return (); } public function set stiffness(_arg1:Number):void{  = _arg1; } function resolve():void{ } } }//package org.cove.ape
Section 140
//AbstractItem (org.cove.ape.AbstractItem) package org.cove.ape { import flash.display.*; public class AbstractItem { var lineAlpha:Number; var lineColor:uint; var displayObjectOffset:Vector; var lineThickness:Number; var displayObject:DisplayObject; var fillAlpha:Number; private var  :Sprite; var fillColor:uint; private var :Boolean; private var  :Boolean; var displayObjectRotation:Number; public function AbstractItem(){  = true;  = false; } public function  (_arg1:Number=0, _arg2:uint=0, _arg3:Number=1):void{ lineThickness = _arg1; lineColor = _arg2; lineAlpha = _arg3; } public function set visible(_arg1:Boolean):void{  = _arg1; sprite.visible = _arg1; } public function (_arg1:uint=0xFFFFFF, _arg2:Number=1):void{ fillColor = _arg1; fillAlpha = _arg2; } public function init():void{ } public function get sprite():Sprite{ if (  != null){ return ( ); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); };   = new Sprite(); APEngine.container.addChild( ); return ( ); } public function paint():void{ } public function cleanup():void{ var _local1:int; sprite.graphics.clear(); _local1 = 0; while (_local1 < sprite.numChildren) { sprite.removeChildAt(_local1); _local1++; }; } public function (_arg1:Number=0, _arg2:uint=0, _arg3:Number=1, _arg4:uint=0xFFFFFF, _arg5:Number=1):void{  (_arg1, _arg2, _arg3); (_arg4, _arg5); } public function get visible():Boolean{ return (); } final public function set alwaysRepaint(_arg1:Boolean):void{  = _arg1; } final public function get alwaysRepaint():Boolean{ return ( ); } } }//package org.cove.ape
Section 141
//AbstractParticle (org.cove.ape.AbstractParticle) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractParticle extends AbstractItem { private var :Boolean; private var :int; private var :Collision; var prev:Vector; private var :Number; var curr:Vector; private var :Number; var interval:Interval; private var :Number; private var :Vector; private var  :Number; private var  :Vector; var samp:Vector; private var :Vector; private var :Boolean; public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractParticle"){ throw (new ArgumentError("AbstractParticle can't be instantiated directly")); }; interval = new Interval(0, 0); curr = new Vector(_arg1, _arg2); prev = new Vector(_arg1, _arg2); samp = new Vector();  = new Vector(); fixed = _arg3;  = new Vector();  = new Collision(new Vector(), new Vector()); collidable = true; this.mass = _arg4; this.elasticity = _arg5; this.friction = _arg6; ();  = new Vector();  = 0; } public function set friction(_arg1:Number):void{ if ((((_arg1 < 0)) || ((_arg1 > 1)))){ throw (new ArgumentError("Legal friction must be >= 0 and <=1")); };  = _arg1; } public function get px():Number{ return (curr.x); } public function get py():Number{ return (curr.y); } public function set py(_arg1:Number):void{ curr.y = _arg1; prev.y = _arg1; } function  (_arg1:Vector):Collision{ var _local2:Vector; var _local3:Number; _local2 = velocity; _local3 = _arg1.dot(_local2); .vn = _arg1.mult(_local3); .vt = _local2.minus(.vn); return (); } public function set mass(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("mass may not be set <= 0")); };  = _arg1;  = (1 / ); } public function get fixed():Boolean{ return (); } public function set px(_arg1:Number):void{ curr.x = _arg1; prev.x = _arg1; } function initDisplay():void{ displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); } function get invMass():Number{ return ((fixed) ? 0 : ); } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); } public function get position():Vector{ return (new Vector(curr.x, curr.y)); } public function get multisample():int{ return (); } function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ curr.plusEquals(_arg1); velocity = _arg2; } public function set fixed(_arg1:Boolean):void{  = _arg1; } public function (_arg1:Vector):void{  .plusEquals(_arg1); } public function set velocity(_arg1:Vector):void{ prev = curr.minus(_arg1); } public function set multisample(_arg1:int):void{  = _arg1; } public function get elasticity():Number{ return (); } public function set position(_arg1:Vector):void{ curr.copy(_arg1); prev.copy(_arg1); } public function get center():Vector{ .setTo(px, py); return (); } public function update(_arg1:Number):void{ var _local2:Vector; if (fixed){ return; };  (APEngine.force); (APEngine.masslessForce); .copy(curr); _local2 = velocity.plus( .multEquals(_arg1)); curr.plusEquals(_local2.multEquals(APEngine.damping)); prev.copy();  .setTo(0, 0); } public function set collidable(_arg1:Boolean):void{  = _arg1; } public function get velocity():Vector{ return (curr.minus(prev)); } public function get collidable():Boolean{ return (); } public function  (_arg1:Vector):void{  .plusEquals(_arg1.mult(invMass)); } public function set elasticity(_arg1:Number):void{  = _arg1; } public function get friction():Number{ return ( ); } public function get mass():Number{ return (); } } }//package org.cove.ape
Section 142
//APEngine (org.cove.ape.APEngine) package org.cove.ape { import flash.display.*; public final class APEngine { private static var _container:DisplayObjectContainer; private static var _damping:Number; private static var _constraintCollisionCycles:int; private static var groups:Array; static var masslessForce:Vector; private static var _constraintCycles:int; static var force:Vector; private static var timeStep:Number; private static var numGroups:int; public static function get container():DisplayObjectContainer{ return (_container); } public static function get constraintCollisionCycles():int{ return (_constraintCollisionCycles); } public static function set damping(_arg1:Number):void{ _damping = _arg1; } public static function step():void{ var _local1:int; var _local2:int; integrate(); _local1 = 0; while (_local1 < _constraintCycles) { satisfyConstraints(); _local1++; }; _local2 = 0; while (_local2 < _constraintCollisionCycles) { satisfyConstraints(); checkCollisions(); _local2++; }; } public static function init(_arg1:Number=0.25):void{ timeStep = (_arg1 * _arg1); numGroups = 0; groups = new Array(); force = new Vector(0, 0); masslessForce = new Vector(0, 0); damping = 1; _constraintCycles = 0; _constraintCollisionCycles = 1; } public static function get constraintCycles():int{ return (_constraintCycles); } public static function set constraintCollisionCycles(_arg1:int):void{ _constraintCollisionCycles = _arg1; } public static function set constraintCycles(_arg1:int):void{ _constraintCycles = _arg1; } public static function  (_arg1:Vector):void{ force.plusEquals(_arg1); } public static function get damping():Number{ return (_damping); } public static function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public static function addGroup(_arg1:Group):void{ groups.push(_arg1); _arg1.isParented = true; numGroups++; _arg1.init(); } public static function removeGroup(_arg1:Group):void{ var _local2:int; _local2 = groups.indexOf(_arg1); if (_local2 == -1){ return; }; groups.splice(_local2, 1); _arg1.isParented = false; numGroups--; _arg1.cleanup(); } public static function paint():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.paint(); _local1++; }; } private static function checkCollisions():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.checkCollisions(); _local1++; }; } private static function integrate():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.integrate(timeStep); _local1++; }; } private static function satisfyConstraints():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.satisfyConstraints(); _local1++; }; } public static function (_arg1:Vector):void{ masslessForce.plusEquals(_arg1); } } }//package org.cove.ape
Section 143
//CircleParticle (org.cove.ape.CircleParticle) package org.cove.ape { public class CircleParticle extends AbstractParticle { private var :Number; public function CircleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0.3, _arg7:Number=0){ super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7);  = _arg3; } function ():Interval{ interval.min = (curr.x - ); interval.max = (curr.x + ); return (interval); } function ():Interval{ interval.min = (curr.y - ); interval.max = (curr.y + ); return (interval); } override public function init():void{ cleanup(); if (displayObject != null){ initDisplay(); } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawCircle(0, 0, radius); sprite.graphics.endFill(); }; paint(); } public function set radius(_arg1:Number):void{  = _arg1; } public function get radius():Number{ return (); } function getProjection(_arg1:Vector):Interval{ var _local2:Number; _local2 = samp.dot(_arg1); interval.min = (_local2 - ); interval.max = (_local2 + ); return (interval); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; } } }//package org.cove.ape
Section 144
//Collision (org.cove.ape.Collision) package org.cove.ape { import org.cove.ape.*; final class Collision { var vn:Vector; var vt:Vector; function Collision(_arg1:Vector, _arg2:Vector){ this.vn = _arg1; this.vt = _arg2; } } }//package org.cove.ape
Section 145
//CollisionDetector (org.cove.ape.CollisionDetector) package org.cove.ape { import org.cove.ape.*; final class CollisionDetector { private static function testOBBvsCircle(_arg1:RectangleParticle, _arg2:CircleParticle):Boolean{ var _local3:Vector; var _local4:Number; var _local5:Array; var _local6:int; var _local7:Number; var _local8:Vector; var _local9:Number; var _local10:Vector; var _local11:Number; _local4 = Number.POSITIVE_INFINITY; _local5 = new Array(2); _local6 = 0; while (_local6 < 2) { _local8 = _arg1.axes[_local6]; _local9 = testIntervals(_arg1.getProjection(_local8), _arg2.getProjection(_local8)); if (_local9 == 0){ return (false); }; if (Math.abs(_local9) < Math.abs(_local4)){ _local3 = _local8; _local4 = _local9; }; _local5[_local6] = _local9; _local6++; }; _local7 = _arg2.radius; if ((((Math.abs(_local5[0]) < _local7)) && ((Math.abs(_local5[1]) < _local7)))){ _local10 = closestVertexOnOBB(_arg2.samp, _arg1); _local3 = _local10.minus(_arg2.samp); _local11 = _local3. (); _local4 = (_local7 - _local11); if (_local4 > 0){ _local3. (_local11); } else { return (false); }; }; CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local3, _local4); return (true); } static function test(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ if (((_arg1.fixed) && (_arg2.fixed))){ return; }; if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){ normVsNorm(_arg1, _arg2); } else { if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){ sampVsNorm(_arg1, _arg2); } else { if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){ sampVsNorm(_arg2, _arg1); } else { if (_arg1.multisample == _arg2.multisample){ sampVsSamp(_arg1, _arg2); } else { normVsNorm(_arg1, _arg2); }; }; }; }; } private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{ var _local3:Number; var _local4:Number; if (_arg1.max < _arg2.min){ return (0); }; if (_arg2.max < _arg1.min){ return (0); }; _local3 = (_arg2.max - _arg1.min); _local4 = (_arg2.min - _arg1.max); return (((Math.abs(_local3))<Math.abs(_local4)) ? _local3 : _local4); } private static function normVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ _arg1.samp.copy(_arg1.curr); _arg2.samp.copy(_arg2.curr); testTypes(_arg1, _arg2); } private static function testCirclevsCircle(_arg1:CircleParticle, _arg2:CircleParticle):Boolean{ var _local3:Number; var _local4:Number; var _local5:Vector; var _local6:Number; var _local7:Number; _local3 = testIntervals(_arg1.(), _arg2.()); if (_local3 == 0){ return (false); }; _local4 = testIntervals(_arg1.(), _arg2.()); if (_local4 == 0){ return (false); }; _local5 = _arg1.samp.minus(_arg2.samp); _local6 = _local5. (); _local7 = ((_arg1.radius + _arg2.radius) - _local6); if (_local7 > 0){ _local5. (_local6); CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local5, _local7); return (true); }; return (false); } private static function testTypes(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{ if ((((_arg1 is RectangleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsOBB((_arg1 as RectangleParticle), (_arg2 as RectangleParticle))); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is CircleParticle)))){ return (testCirclevsCircle((_arg1 as CircleParticle), (_arg2 as CircleParticle))); }; if ((((_arg1 is RectangleParticle)) && ((_arg2 is CircleParticle)))){ return (testOBBvsCircle((_arg1 as RectangleParticle), (_arg2 as CircleParticle))); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsCircle((_arg2 as RectangleParticle), (_arg1 as CircleParticle))); }; return (false); } private static function sampVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ var _local3:Number; var _local4:Number; var _local5:int; _local3 = (1 / (_arg1.multisample + 1)); _local4 = _local3; _arg2.samp.copy(_arg2.curr); _local5 = 0; while (_local5 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y)))); if (testTypes(_arg1, _arg2)){ return; }; _local4 = (_local4 + _local3); _local5++; }; } private static function closestVertexOnOBB(_arg1:Vector, _arg2:RectangleParticle):Vector{ var _local3:Vector; var _local4:Vector; var _local5:int; var _local6:Number; _local3 = _arg1.minus(_arg2.samp); _local4 = new Vector(_arg2.samp.x, _arg2.samp.y); _local5 = 0; while (_local5 < 2) { _local6 = _local3.dot(_arg2.axes[_local5]); if (_local6 >= 0){ _local6 = _arg2.extents[_local5]; } else { if (_local6 < 0){ _local6 = -(_arg2.extents[_local5]); }; }; _local4.plusEquals(_arg2.axes[_local5].mult(_local6)); _local5++; }; return (_local4); } private static function testOBBvsOBB(_arg1:RectangleParticle, _arg2:RectangleParticle):Boolean{ var _local3:Vector; var _local4:Number; var _local5:int; var _local6:Vector; var _local7:Number; var _local8:Vector; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Boolean; _local4 = Number.POSITIVE_INFINITY; _local5 = 0; while (_local5 < 2) { _local6 = _arg1.axes[_local5]; _local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6)); if (_local7 == 0){ return (false); }; _local8 = _arg2.axes[_local5]; _local9 = testIntervals(_arg1.getProjection(_local8), _arg2.getProjection(_local8)); if (_local9 == 0){ return (false); }; _local10 = Math.abs(_local7); _local11 = Math.abs(_local9); if ((((_local10 < Math.abs(_local4))) || ((_local11 < Math.abs(_local4))))){ _local12 = (_local10 < _local11); _local3 = (_local12) ? _local6 : _local8; _local4 = (_local12) ? _local7 : _local9; }; _local5++; }; CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local3, _local4); return (true); } private static function sampVsSamp(_arg1:AbstractParticle, _arg2:AbstractParticle):void{ var _local3:Number; var _local4:Number; var _local5:int; _local3 = (1 / (_arg1.multisample + 1)); _local4 = _local3; _local5 = 0; while (_local5 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y)))); _arg2.samp.setTo((_arg2.prev.x + (_local4 * (_arg2.curr.x - _arg2.prev.x))), (_arg2.prev.y + (_local4 * (_arg2.curr.y - _arg2.prev.y)))); if (testTypes(_arg1, _arg2)){ return; }; _local4 = (_local4 + _local3); _local5++; }; } } }//package org.cove.ape
Section 146
//CollisionResolver (org.cove.ape.CollisionResolver) package org.cove.ape { import org.cove.ape.*; final class CollisionResolver { static function resolveParticleParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Vector, _arg4:Number):void{ var _local5:Vector; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Collision; var _local10:Collision; var _local11:Vector; var _local12:Vector; var _local13:Vector; var _local14:Vector; _arg1.curr.copy(_arg1.samp); _arg2.curr.copy(_arg2.samp); _local5 = _arg3.mult(_arg4); _local6 = (_arg1.elasticity + _arg2.elasticity); _local7 = (_arg1.invMass + _arg2.invMass); _local8 = clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1); _local9 = _arg1. (_arg3); _local10 = _arg2. (_arg3); _local11 = _local10.vn.mult(((_local6 + 1) * _arg1.invMass)).plus(_local9.vn.mult((_arg2.invMass - (_local6 * _arg1.invMass)))). (_local7); _local12 = _local9.vn.mult(((_local6 + 1) * _arg2.invMass)).plus(_local10.vn.mult((_arg1.invMass - (_local6 * _arg2.invMass)))). (_local7); _local9.vt.multEquals(_local8); _local10.vt.multEquals(_local8); _local13 = _local5.mult((_arg1.invMass / _local7)); _local14 = _local5.mult((-(_arg2.invMass) / _local7)); _local11.plusEquals(_local9.vt); _local12.plusEquals(_local10.vt); if (!_arg1.fixed){ _arg1.resolveCollision(_local13, _local11, _arg3, _arg4, -1, _arg2); }; if (!_arg2.fixed){ _arg2.resolveCollision(_local14, _local12, _arg3, _arg4, 1, _arg1); }; } static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 > _arg3){ return (_arg3); }; if (_arg1 < _arg2){ return (_arg2); }; return (_arg1); } } }//package org.cove.ape
Section 147
//Composite (org.cove.ape.Composite) package org.cove.ape { public class Composite extends AbstractCollection { private var delta:Vector; public function Composite(){ delta = new Vector(); } private function (_arg1:Vector, _arg2:Vector):Number{ delta.setTo((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); return (Math.atan2(delta.y, delta.x)); } public function (_arg1:Number, _arg2:Vector):void{ var _local3:AbstractParticle; var _local4:Array; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; _local4 = particles; _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local3 = _local4[_local6]; _local7 = _local3.center.distance(_arg2); _local8 = ((_arg2, _local3.center) + _arg1); _local3.px = ((Math.cos(_local8) * _local7) + _arg2.x); _local3.py = ((Math.sin(_local8) * _local7) + _arg2.y); _local6++; }; } public function (_arg1:Number, _arg2:Vector):void{ var _local3:Number; _local3 = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); (_local3, _arg2); } public function set fixed(_arg1:Boolean):void{ var _local2:int; _local2 = 0; while (_local2 < particles.length) { particles[_local2].fixed = _arg1; _local2++; }; } public function get fixed():Boolean{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { if (!particles[_local1].fixed){ return (false); }; _local1++; }; return (true); } } }//package org.cove.ape
Section 148
//Group (org.cove.ape.Group) package org.cove.ape { public class Group extends AbstractCollection { private var :Boolean; private var  :Array; private var  :Array; public function Group(_arg1:Boolean=false){  = new Array();  = new Array(); this.collideInternal = _arg1; } function checkCollisions():void{ var _local1:int; var _local2:int; var _local3:Group; if (collideInternal){ (); }; _local1 = collisionList.length; _local2 = 0; while (_local2 < _local1) { _local3 = collisionList[_local2]; (_local3); _local2++; }; } public function get composites():Array{ return ( ); } override public function init():void{ var _local1:int; super.init(); _local1 = 0; while (_local1 < composites.length) { composites[_local1].init(); _local1++; }; } public function (_arg1:Group):void{ var _local2:int; _local2 = collisionList.indexOf(_arg1); if (_local2 == -1){ return; }; collisionList.splice(_local2, 1); } private function (_arg1:Group):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:Composite; var _local6:int; var _local7:Composite; checkCollisionsVsCollection(_arg1); _local2 =  .length; _local3 = _arg1.composites.length; _local4 = 0; while (_local4 < _local2) { _local5 =  [_local4]; _local5.checkCollisionsVsCollection(_arg1); _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.composites[_local6]; _local5.checkCollisionsVsCollection(_local7); _local6++; }; _local4++; }; _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.composites[_local6]; checkCollisionsVsCollection(_local7); _local6++; }; } override function satisfyConstraints():void{ var _local1:int; var _local2:int; var _local3:Composite; super.satisfyConstraints(); _local1 =  .length; _local2 = 0; while (_local2 < _local1) { _local3 =  [_local2]; _local3.satisfyConstraints(); _local2++; }; } public function get collideInternal():Boolean{ return (); } public function (_arg1:Array):void{ var _local2:int; var _local3:Group; _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; collisionList.push(_local3); _local2++; }; } public function (_arg1:Composite):void{ var _local2:int; _local2 = composites.indexOf(_arg1); if (_local2 == -1){ return; }; composites.splice(_local2, 1); _arg1.isParented = false; _arg1.cleanup(); } override public function cleanup():void{ var _local1:int; super.cleanup(); _local1 = 0; while (_local1 < composites.length) { composites[_local1].cleanup(); _local1++; }; } override public function paint():void{ var _local1:int; var _local2:int; var _local3:Composite; super.paint(); _local1 =  .length; _local2 = 0; while (_local2 < _local1) { _local3 =  [_local2]; _local3.paint(); _local2++; }; } public function  (_arg1:Group):void{ collisionList.push(_arg1); } override public function getAll():Array{ return (particles.concat(constraints).concat(composites)); } public function get collisionList():Array{ return ( ); } override function integrate(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:Composite; super.integrate(_arg1); _local2 =  .length; _local3 = 0; while (_local3 < _local2) { _local4 =  [_local3]; _local4.integrate(_arg1); _local3++; }; } public function  (_arg1:Composite):void{ composites.push(_arg1); _arg1.isParented = true; if (isParented){ _arg1.init(); }; } private function ():void{ var _local1:int; var _local2:int; var _local3:Composite; var _local4:int; var _local5:Composite; checkInternalCollisions(); _local1 =  .length; _local2 = 0; while (_local2 < _local1) { _local3 =  [_local2]; _local3.checkCollisionsVsCollection(this); _local4 = (_local2 + 1); while (_local4 < _local1) { _local5 =  [_local4]; _local3.checkCollisionsVsCollection(_local5); _local4++; }; _local2++; }; } public function set collideInternal(_arg1:Boolean):void{  = _arg1; } } }//package org.cove.ape
Section 149
//Interval (org.cove.ape.Interval) package org.cove.ape { final class Interval { var min:Number; var max:Number; function Interval(_arg1:Number, _arg2:Number){ this.min = _arg1; this.max = _arg2; } function toString():String{ return (((min + " : ") + max)); } } }//package org.cove.ape
Section 150
//MathUtil (org.cove.ape.MathUtil) package org.cove.ape { final class MathUtil { static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823; static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433; static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ return (_arg2); }; if (_arg1 > _arg3){ return (_arg3); }; return (_arg1); } static function sign(_arg1:Number):int{ if (_arg1 < 0){ return (-1); }; return (1); } } }//package org.cove.ape
Section 151
//RectangleParticle (org.cove.ape.RectangleParticle) package org.cove.ape { public class RectangleParticle extends AbstractParticle { private var :Array; private var :Number; private var :Array; public function RectangleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){ super(_arg1, _arg2, _arg6, _arg7, _arg8, _arg9);  = new Array((_arg3 / 2), (_arg4 / 2));  = new Array(new Vector(0, 0), new Vector(0, 0)); radian = _arg5; } override public function init():void{ var _local1:Number; var _local2:Number; cleanup(); if (displayObject != null){ initDisplay(); } else { _local1 = (extents[0] * 2); _local2 = (extents[1] * 2); sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawRect((-(_local1) / 2), (-(_local2) / 2), _local1, _local2); sprite.graphics.endFill(); }; paint(); } public function set width(_arg1:Number):void{ [0] = (_arg1 / 2); } function get axes():Array{ return (); } public function get height():Number{ return (([1] * 2)); } function get extents():Array{ return (); } public function set angle(_arg1:Number):void{ radian = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); } private function  (_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.sin(_arg1); _local3 = Math.cos(_arg1); axes[0].x = _local3; axes[0].y = _local2; axes[1].x = -(_local2); axes[1].y = _local3; } public function get radian():Number{ return (); } public function get width():Number{ return (([0] * 2)); } public function set height(_arg1:Number):void{ [1] = (_arg1 / 2); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } function getProjection(_arg1:Vector):Interval{ var _local2:Number; var _local3:Number; _local2 = ((extents[0] * Math.abs(_arg1.dot(axes[0]))) + (extents[1] * Math.abs(_arg1.dot(axes[1])))); _local3 = samp.dot(_arg1); interval.min = (_local3 - _local2); interval.max = (_local3 + _local2); return (interval); } public function set radian(_arg1:Number):void{  = _arg1;  (_arg1); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; sprite.rotation = angle; } } }//package org.cove.ape
Section 152
//SpringConstraint (org.cove.ape.SpringConstraint) package org.cove.ape { import flash.display.*; public class SpringConstraint extends AbstractConstraint { private var :Boolean; private var :Number; private var p1:AbstractParticle; private var p2:AbstractParticle; private var  :SpringConstraintParticle; public function SpringConstraint(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Number=0.5, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=1, _arg7:Boolean=false){ super(_arg3); this.p1 = _arg1; this.p2 = _arg2; ();  = currLength;  (_arg4, _arg5, _arg6, _arg7); } public function set rectScale(_arg1:Number):void{ if (scp == null){ return; }; scp.rectScale = _arg1; } override public function init():void{ cleanup(); if (collidable){ scp.init(); } else { if (displayObject != null){ initDisplay(); }; }; paint(); } function initDisplay():void{ if (collidable){ scp.initDisplay(); } else { displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); }; } private function ():void{ if ((((p1.curr.x == p2.curr.x)) && ((p1.curr.y == p2.curr.y)))){ p2.curr.x = (p2.curr.x + 0.0001); }; } public function get radian():Number{ var _local1:Vector; _local1 = delta; return (Math.atan2(_local1.y, _local1.x)); } function get scp():SpringConstraintParticle{ return ( ); } public function get rectHeight():Number{ return (scp.rectHeight); } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ if (collidable){ scp.setDisplay(_arg1, _arg2, _arg3, _arg4); } else { displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); }; } public function set restLength(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("restLength must be greater than 0")); };  = _arg1; } public function get currLength():Number{ return (p1.curr.distance(p2.curr)); } public function get fixedEndLimit():Number{ return (scp.fixedEndLimit); } public function get rectScale():Number{ return (scp.rectScale); } function get delta():Vector{ return (p1.curr.minus(p2.curr)); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } public function get center():Vector{ return (p1.curr.plus(p2.curr). (2)); } public function set rectHeight(_arg1:Number):void{ if (scp == null){ return; }; scp.rectHeight = _arg1; } public function get restLength():Number{ return (); } override public function paint():void{ var _local1:Vector; if (collidable){ scp.paint(); } else { if (displayObject != null){ _local1 = center; sprite.x = _local1.x; sprite.y = _local1.y; sprite.rotation = angle; } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.moveTo(p1.px, p1.py); sprite.graphics.lineTo(p2.px, p2.py); }; }; } public function  (_arg1:Boolean, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{  = _arg1;  = null; if (){  = new SpringConstraintParticle(p1, p2, this, _arg2, _arg3, _arg4); }; } public function get collidable():Boolean{ return (); } public function isConnectedTo(_arg1:AbstractParticle):Boolean{ return ((((_arg1 == p1)) || ((_arg1 == p2)))); } override function resolve():void{ var _local1:Number; var _local2:Number; var _local3:Vector; if (((p1.fixed) && (p2.fixed))){ return; }; _local1 = currLength; _local2 = ((_local1 - restLength) / (_local1 * (p1.invMass + p2.invMass))); _local3 = delta.mult((_local2 * stiffness)); p1.curr.minusEquals(_local3.mult(p1.invMass)); p2.curr.plusEquals(_local3.mult(p2.invMass)); } public function get fixed():Boolean{ return (((p1.fixed) && (p2.fixed))); } public function set fixedEndLimit(_arg1:Number):void{ if (scp == null){ return; }; scp.fixedEndLimit = _arg1; } } }//package org.cove.ape
Section 153
//SpringConstraintParticle (org.cove.ape.SpringConstraintParticle) package org.cove.ape { import flash.display.*; import org.cove.ape.*; class SpringConstraintParticle extends RectangleParticle { private var :Number; private var :Number; private var :Vector; private var :Vector; private var s:Number; private var parent:SpringConstraint; private var :Boolean; private var p1:AbstractParticle; private var p2:AbstractParticle; private var  :Vector; private var  :Vector; private var  :Number; function SpringConstraintParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:SpringConstraint, _arg4:Number, _arg5:Number, _arg6:Boolean){ super(0, 0, 0, 0, 0, false); this.p1 = _arg1; this.p2 = _arg2;  = new Vector(0, 0);  = new Vector(0, 0); parent = _arg3; this.rectScale = _arg5; this.rectHeight = _arg4; this. = _arg6; fixedEndLimit = 0;  = new Vector();  = new Vector(); } private function  (_arg1:RectangleParticle, _arg2:int):void{ var _local3:Number; var _local4:Number; var _local5:Array; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local3 = _arg1.curr.x; _local4 = _arg1.curr.y; _local5 = _arg1.axes; _local6 = _arg1.extents; _local7 = (_local5[0].x * _local6[0]); _local8 = (_local5[0].y * _local6[0]); _local9 = (_local5[1].x * _local6[1]); _local10 = (_local5[1].y * _local6[1]); _local11 = (_local7 - _local9); _local12 = (_local8 - _local10); _local13 = (_local7 + _local9); _local14 = (_local8 + _local10); if (_arg2 == 0){ .x = (_local3 - _local13); .y = (_local4 - _local14); .x = (_local3 + _local11); .y = (_local4 + _local12); } else { if (_arg2 == 1){ .x = (_local3 + _local11); .y = (_local4 + _local12); .x = (_local3 + _local13); .y = (_local4 + _local14); } else { if (_arg2 == 2){ .x = (_local3 + _local13); .y = (_local4 + _local14); .x = (_local3 - _local11); .y = (_local4 - _local12); } else { if (_arg2 == 3){ .x = (_local3 - _local11); .y = (_local4 - _local12); .x = (_local3 - _local13); .y = (_local4 - _local14); }; }; }; }; } override public function init():void{ var _local1:Sprite; var _local2:Number; var _local3:Number; if (displayObject != null){ initDisplay(); } else { _local1 = new Sprite(); parent.sprite.addChild(_local1); _local1.name = "inner"; _local2 = (parent.currLength * rectScale); _local3 = rectHeight; _local1.graphics.clear(); _local1.graphics.lineStyle(parent.lineThickness, parent.lineColor, parent.lineAlpha); _local1.graphics.beginFill(parent.fillColor, parent.fillAlpha); _local1.graphics.drawRect((-(_local2) / 2), (-(_local3) / 2), _local2, _local3); _local1.graphics.endFill(); }; paint(); } function updatePosition():void{ var _local1:Vector; _local1 = parent.center; curr.setTo(_local1.x, _local1.y); width = () ? (parent.currLength * rectScale) : (parent.restLength * rectScale); height = rectHeight; radian = parent.radian; } private function ():Number{ var _local1:Vector; var _local2:Vector; var _local3:Vector; var _local4:Vector; var _local5:Vector; var _local6:Vector; var _local7:Vector; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Vector; var _local16:Vector; var _local17:Vector; _local1 = p1.curr; _local2 = p2.curr; _local3 = ; _local4 = ; _local5 = _local2.minus(_local1); _local6 = _local4.minus(_local3); _local7 = _local1.minus(_local3); _local9 = _local5.dot(_local5); _local10 = _local6.dot(_local6); _local11 = _local6.dot(_local7); _local12 = _local5.dot(_local7); _local13 = _local5.dot(_local6); _local14 = ((_local9 * _local10) - (_local13 * _local13)); if (_local14 != 0){ s = MathUtil.clamp((((_local13 * _local11) - (_local12 * _local10)) / _local14), 0, 1); } else { s = 0.5; }; _local8 = (((_local13 * s) + _local11) / _local10); if (_local8 < 0){ _local8 = 0; s = MathUtil.clamp((-(_local12) / _local9), 0, 1); } else { if (_local8 > 0){ _local8 = 1; s = MathUtil.clamp(((_local13 - _local12) / _local9), 0, 1); }; }; _local15 = _local1.plus(_local5.mult(s)); _local16 = _local3.plus(_local6.mult(_local8)); _local17 = _local15.minus(_local16); return (_local15.minus(_local16).dot(_local17)); } function get rectHeight():Number{ return ( ); } function get fixedEndLimit():Number{ return (); } private function (_arg1:Vector):Number{ var _local2:Vector; var _local3:Number; _local2 = p2.curr.minus(p1.curr); _local3 = (_local2.dot(_arg1.minus(p1.curr)) / _local2.dot(_local2)); return (MathUtil.clamp(_local3, 0, 1)); } function set rectHeight(_arg1:Number):void{  = _arg1; } override public function paint():void{ var _local1:Vector; var _local2:Sprite; _local1 = parent.center; _local2 = parent.sprite; if (){ _local2.getChildByName("inner").width = (parent.currLength * rectScale); } else { if (displayObject != null){ _local2.getChildByName("inner").width = (parent.restLength * rectScale); }; }; _local2.x = _local1.x; _local2.y = _local1.y; _local2.rotation = parent.angle; } private function (_arg1:AbstractParticle):Number{ var _local2:Number; var _local3:Number; var _local4:Array; var _local5:Number; var _local6:int; var _local7:Number; if ((_arg1 is CircleParticle)){ _local2 = (_arg1.curr); } else { if ((_arg1 is RectangleParticle)){ _local4 = new Array(4); _local5 = Number.POSITIVE_INFINITY; _local6 = 0; while (_local6 < 4) {  ((_arg1 as RectangleParticle), _local6); _local7 = (); if (_local7 < _local5){ _local5 = _local7; _local3 = _local6; _local4[_local6] = s; }; _local6++; }; _local2 = _local4[_local3]; }; }; return (_local2); } function set fixedEndLimit(_arg1:Number):void{  = _arg1; } override function get invMass():Number{ if (((p1.fixed) && (p2.fixed))){ return (0); }; return ((1 / ((p1.mass + p2.mass) / 2))); } override function initDisplay():void{ var _local1:Sprite; displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; _local1 = new Sprite(); _local1.name = "inner"; _local1.addChild(displayObject); parent.sprite.addChild(_local1); } function set rectScale(_arg1:Number):void{  = _arg1; } override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:AbstractParticle; _local7 = (_arg6); _local8 = (1 - _local7); _local9 = _local7; if (p1.fixed){ if (_local9 <= fixedEndLimit){ return; };  .setTo((_arg1.x / _local9), (_arg1.y / _local9)); p2.curr.plusEquals( ); p2.velocity = _arg2; } else { if (p2.fixed){ if (_local8 <= fixedEndLimit){ return; };  .setTo((_arg1.x / _local8), (_arg1.y / _local8)); p1.curr.plusEquals( ); p1.velocity = _arg2; } else { _local10 = ((_local8 * _local8) + (_local9 * _local9)); if (_local10 == 0){ return; };  .setTo((_arg1.x / _local10), (_arg1.y / _local10)); p1.curr.plusEquals( .mult(_local8)); p2.curr.plusEquals( .mult(_local9)); if (_local7 == 0.5){ p1.velocity = _arg2; p2.velocity = _arg2; } else { _local11 = ((_local7)<0.5) ? p1 : p2; _local11.velocity = _arg2; }; }; }; } override public function get elasticity():Number{ return (((p1.elasticity + p2.elasticity) / 2)); } function get rectScale():Number{ return (); } override public function get velocity():Vector{ var _local1:Vector; var _local2:Vector; _local1 = p1.velocity; _local2 = p2.velocity;  .setTo(((_local1.x + _local2.x) / 2), ((_local1.y + _local2.y) / 2)); return ( ); } override public function get friction():Number{ return (((p1.friction + p2.friction) / 2)); } override public function get mass():Number{ return (((p1.mass + p2.mass) / 2)); } } }//package org.cove.ape
Section 154
//Vector (org.cove.ape.Vector) package org.cove.ape { public class Vector { public var x:Number; public var y:Number; public function Vector(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function (_arg1:Vector):Number{ return (((x * _arg1.y) - (y * _arg1.x))); } public function  ():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function  (_arg1:Number):Vector{ if (_arg1 == 0){ _arg1 = 0.0001; }; x = (x / _arg1); y = (y / _arg1); return (this); } public function  (_arg1:Vector):Vector{ return (new Vector((x * _arg1.x), (y * _arg1.y))); } public function plusEquals(_arg1:Vector):Vector{ x = (x + _arg1.x); y = (y + _arg1.y); return (this); } public function dot(_arg1:Vector):Number{ return (((x * _arg1.x) + (y * _arg1.y))); } public function toString():String{ return (((x + " : ") + y)); } public function ():Vector{ var _local1:Number; _local1 =  (); if (_local1 == 0){ _local1 = 0.0001; }; return (mult((1 / _local1))); } public function copy(_arg1:Vector):void{ x = _arg1.x; y = _arg1.y; } public function minusEquals(_arg1:Vector):Vector{ x = (x - _arg1.x); y = (y - _arg1.y); return (this); } public function minus(_arg1:Vector):Vector{ return (new Vector((x - _arg1.x), (y - _arg1.y))); } public function plus(_arg1:Vector):Vector{ return (new Vector((x + _arg1.x), (y + _arg1.y))); } public function distance(_arg1:Vector):Number{ var _local2:Vector; _local2 = this.minus(_arg1); return (_local2. ()); } public function setTo(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; } public function multEquals(_arg1:Number):Vector{ x = (x * _arg1); y = (y * _arg1); return (this); } public function mult(_arg1:Number):Vector{ return (new Vector((x * _arg1), (y * _arg1))); } } }//package org.cove.ape
Section 155
//__61 (top_figures_2_2_fla.__61) package top_figures_2_2_fla { import flash.display.*; public dynamic class __61 extends MovieClip { public function __61(){ addFrameScript(0, frame1); } function frame1(){ (this as MovieClip).mouseChildren = false; (this as MovieClip).mouseEnabled = false; } } }//package top_figures_2_2_fla
Section 156
//_levelselect0004copy_86 (top_figures_2_2_fla._levelselect0004copy_86) package top_figures_2_2_fla { import flash.events.*; import flash.display.*; public dynamic class _levelselect0004copy_86 extends MovieClip { public var closeBtn:SimpleButton; public function _levelselect0004copy_86(){ addFrameScript(0, frame1); } public function (_arg1:MouseEvent=null){ (this as MovieClip).gotoAndStop(1); } function frame1(){ (this["closeBtn"] as SimpleButton).addEventListener(MouseEvent.CLICK, ); stop(); } } }//package top_figures_2_2_fla
Section 157
//arrow__128 (top_figures_2_2_fla.arrow__128) package top_figures_2_2_fla { import flash.display.*; public dynamic class arrow__128 extends MovieClip { public var line:MovieClip; } }//package top_figures_2_2_fla
Section 158
//arrow_3_109 (top_figures_2_2_fla.arrow_3_109) package top_figures_2_2_fla { import flash.display.*; public dynamic class arrow_3_109 extends MovieClip { public var begun:MovieClip; } }//package top_figures_2_2_fla
Section 159
//arrow_show_101 (top_figures_2_2_fla.arrow_show_101) package top_figures_2_2_fla { import flash.display.*; public dynamic class arrow_show_101 extends MovieClip { public function arrow_show_101(){ addFrameScript(14,  ); } function  (){ stop(); } } }//package top_figures_2_2_fla
Section 160
//author_mc_123 (top_figures_2_2_fla.author_mc_123) package top_figures_2_2_fla { import flash.display.*; public dynamic class author_mc_123 extends MovieClip { public function author_mc_123(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 161
//best_mc_122 (top_figures_2_2_fla.best_mc_122) package top_figures_2_2_fla { import flash.display.*; public dynamic class best_mc_122 extends MovieClip { public function best_mc_122(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 162
//bgSelectorItem_115 (top_figures_2_2_fla.bgSelectorItem_115) package top_figures_2_2_fla { import flash.display.*; public dynamic class bgSelectorItem_115 extends MovieClip { public function bgSelectorItem_115(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 163
//blick_137 (top_figures_2_2_fla.blick_137) package top_figures_2_2_fla { import flash.display.*; public dynamic class blick_137 extends MovieClip { public function blick_137(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 164
//blick_56 (top_figures_2_2_fla.blick_56) package top_figures_2_2_fla { import flash.display.*; public dynamic class blick_56 extends MovieClip { public function blick_56(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 165
//blick4_83 (top_figures_2_2_fla.blick4_83) package top_figures_2_2_fla { import flash.display.*; public dynamic class blick4_83 extends MovieClip { public function blick4_83(){ addFrameScript(0, frame1); } function frame1(){ } } }//package top_figures_2_2_fla
Section 166
//cirkle_line_263 (top_figures_2_2_fla.cirkle_line_263) package top_figures_2_2_fla { import flash.display.*; public dynamic class cirkle_line_263 extends MovieClip { public function cirkle_line_263(){ addFrameScript(0, frame1, 4, frame5); } function frame1(){ stop(); } function frame5(){ stop(); } } }//package top_figures_2_2_fla
Section 167
//cursor_light_260 (top_figures_2_2_fla.cursor_light_260) package top_figures_2_2_fla { import flash.display.*; public dynamic class cursor_light_260 extends MovieClip { public function cursor_light_260(){ addFrameScript(6, frame7); } function frame7(){ stop(); } } }//package top_figures_2_2_fla
Section 168
//cursor_light2_256 (top_figures_2_2_fla.cursor_light2_256) package top_figures_2_2_fla { import flash.display.*; public dynamic class cursor_light2_256 extends MovieClip { public function cursor_light2_256(){ addFrameScript(6, frame7); } function frame7(){ stop(); } } }//package top_figures_2_2_fla
Section 169
//delete_btn_265 (top_figures_2_2_fla.delete_btn_265) package top_figures_2_2_fla { import flash.display.*; public dynamic class delete_btn_265 extends MovieClip { public function delete_btn_265(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 170
//DoktorZed00347_72 (top_figures_2_2_fla.DoktorZed00347_72) package top_figures_2_2_fla { import flash.display.*; import flash.text.*; public dynamic class DoktorZed00347_72 extends MovieClip { public var level:TextField; public function DoktorZed00347_72(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 171
//editor_gallery_280 (top_figures_2_2_fla.editor_gallery_280) package top_figures_2_2_fla { import flash.display.*; public dynamic class editor_gallery_280 extends MovieClip { public var b10:MovieClip; public var b14:MovieClip; public var b17:MovieClip; public var b18:MovieClip; public var b13:MovieClip; public var b15:MovieClip; public var b16:MovieClip; public var b2:MovieClip; public var b7:MovieClip; public var b1:MovieClip; public var b19:MovieClip; public var b6:MovieClip; public var b29:MovieClip; public var b26:MovieClip; public var b27:MovieClip; public var b21:MovieClip; public var b23:MovieClip; public var b3:MovieClip; public var b5:MovieClip; public var b11:MovieClip; public var b12:MovieClip; public var b4:MovieClip; public var b8:MovieClip; public var b22:MovieClip; public var b30:MovieClip; public var b20:MovieClip; public var b28:MovieClip; public var b9:MovieClip; public var close_btn:SimpleButton; public var b24:MovieClip; public var b25:MovieClip; public var b31:MovieClip; } }//package top_figures_2_2_fla
Section 172
//editor_load_282 (top_figures_2_2_fla.editor_load_282) package top_figures_2_2_fla { import flash.display.*; import flash.text.*; public dynamic class editor_load_282 extends MovieClip { public var text:TextField; public var load_btn:SimpleButton; public var close_btn:SimpleButton; } }//package top_figures_2_2_fla
Section 173
//editor_menu_286 (top_figures_2_2_fla.editor_menu_286) package top_figures_2_2_fla { import flash.display.*; public dynamic class editor_menu_286 extends MovieClip { public var indicator:MovieClip; public var test_btn:SimpleButton; public var clear_btn:SimpleButton; public var load_btn:SimpleButton; public var save_btn:SimpleButton; public var exit_btn:SimpleButton; public var add_btn:SimpleButton; } }//package top_figures_2_2_fla
Section 174
//editor_save_284 (top_figures_2_2_fla.editor_save_284) package top_figures_2_2_fla { import flash.display.*; import flash.text.*; public dynamic class editor_save_284 extends MovieClip { public var text:TextField; public var close_btn:SimpleButton; public var copy_btn:SimpleButton; } }//package top_figures_2_2_fla
Section 175
//flag_bg_4 (top_figures_2_2_fla.flag_bg_4) package top_figures_2_2_fla { import flash.display.*; public dynamic class flag_bg_4 extends MovieClip { public function flag_bg_4(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package top_figures_2_2_fla
Section 176
//gamezhero_gameZheroPreloader_357 (top_figures_2_2_fla.gamezhero_gameZheroPreloader_357) package top_figures_2_2_fla { import flash.display.*; public dynamic class gamezhero_gameZheroPreloader_357 extends MovieClip { public var pr:MovieClip; public function gamezhero_gameZheroPreloader_357(){ addFrameScript(139, ); } function (){ stop(); } } }//package top_figures_2_2_fla
Section 177
//gamezhero_preloaderLine_358 (top_figures_2_2_fla.gamezhero_preloaderLine_358) package top_figures_2_2_fla { import flash.display.*; public dynamic class gamezhero_preloaderLine_358 extends MovieClip { public var begun:MovieClip; } }//package top_figures_2_2_fla
Section 178
//gamezhero_z_2_347 (top_figures_2_2_fla.gamezhero_z_2_347) package top_figures_2_2_fla { import flash.display.*; public dynamic class gamezhero_z_2_347 extends MovieClip { public function gamezhero_z_2_347(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 179
//gamezhero1_133 (top_figures_2_2_fla.gamezhero1_133) package top_figures_2_2_fla { import flash.display.*; public dynamic class gamezhero1_133 extends MovieClip { public var blick2:MovieClip; public var blick:MovieClip; } }//package top_figures_2_2_fla
Section 180
//help1_91 (top_figures_2_2_fla.help1_91) package top_figures_2_2_fla { import flash.display.*; public dynamic class help1_91 extends MovieClip { public var cursor:MovieClip; } }//package top_figures_2_2_fla
Section 181
//help2_102 (top_figures_2_2_fla.help2_102) package top_figures_2_2_fla { import flash.display.*; public dynamic class help2_102 extends MovieClip { public var cursor:MovieClip; } }//package top_figures_2_2_fla
Section 182
//help3_108 (top_figures_2_2_fla.help3_108) package top_figures_2_2_fla { import flash.display.*; public dynamic class help3_108 extends MovieClip { public var arrow2:MovieClip; public var cursor:MovieClip; } }//package top_figures_2_2_fla
Section 183
//line_129 (top_figures_2_2_fla.line_129) package top_figures_2_2_fla { import flash.display.*; public dynamic class line_129 extends MovieClip { public function line_129(){ addFrameScript(79, ); } function (){ gotoAndPlay(1); } } }//package top_figures_2_2_fla
Section 184
//menu_b1_37 (top_figures_2_2_fla.menu_b1_37) package top_figures_2_2_fla { import flash.display.*; public dynamic class menu_b1_37 extends MovieClip { public function menu_b1_37(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package top_figures_2_2_fla
Section 185
//menu_b1copy_77 (top_figures_2_2_fla.menu_b1copy_77) package top_figures_2_2_fla { import flash.display.*; public dynamic class menu_b1copy_77 extends MovieClip { public function menu_b1copy_77(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package top_figures_2_2_fla
Section 186
//menu_b2_49 (top_figures_2_2_fla.menu_b2_49) package top_figures_2_2_fla { import flash.display.*; public dynamic class menu_b2_49 extends MovieClip { public function menu_b2_49(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package top_figures_2_2_fla
Section 187
//menu_b3_33 (top_figures_2_2_fla.menu_b3_33) package top_figures_2_2_fla { import flash.display.*; public dynamic class menu_b3_33 extends MovieClip { public function menu_b3_33(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package top_figures_2_2_fla
Section 188
//menu_b5_41 (top_figures_2_2_fla.menu_b5_41) package top_figures_2_2_fla { import flash.display.*; public dynamic class menu_b5_41 extends MovieClip { public function menu_b5_41(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package top_figures_2_2_fla
Section 189
//musicMenu_143 (top_figures_2_2_fla.musicMenu_143) package top_figures_2_2_fla { import flash.display.*; public dynamic class musicMenu_143 extends MovieClip { public var blick2:MovieClip; public function musicMenu_143(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 190
//pauseMenu1_138 (top_figures_2_2_fla.pauseMenu1_138) package top_figures_2_2_fla { import flash.display.*; public dynamic class pauseMenu1_138 extends MovieClip { public var blick2:MovieClip; } }//package top_figures_2_2_fla
Section 191
//pauseMenu2_139 (top_figures_2_2_fla.pauseMenu2_139) package top_figures_2_2_fla { import flash.display.*; public dynamic class pauseMenu2_139 extends MovieClip { public var blick2:MovieClip; } }//package top_figures_2_2_fla
Section 192
//publish_menu_269 (top_figures_2_2_fla.publish_menu_269) package top_figures_2_2_fla { import flash.display.*; import flash.text.*; public dynamic class publish_menu_269 extends MovieClip { public var puzzle_title:TextField; public var text:TextField; public var user_email:TextField; public var user_name:TextField; public var bublish_btn:SimpleButton; public var info:TextField; public var exit_btn:SimpleButton; } }//package top_figures_2_2_fla
Section 193
//recent_mc_120 (top_figures_2_2_fla.recent_mc_120) package top_figures_2_2_fla { import flash.display.*; public dynamic class recent_mc_120 extends MovieClip { public function recent_mc_120(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 194
//reting_menu_274 (top_figures_2_2_fla.reting_menu_274) package top_figures_2_2_fla { import flash.display.*; public dynamic class reting_menu_274 extends MovieClip { public var s1:MovieClip; public var s5:MovieClip; public var s2:MovieClip; public var s4:MovieClip; public var s3:MovieClip; } }//package top_figures_2_2_fla
Section 195
//shadow_top_97 (top_figures_2_2_fla.shadow_top_97) package top_figures_2_2_fla { import flash.display.*; public dynamic class shadow_top_97 extends MovieClip { public var shadow:MovieClip; } }//package top_figures_2_2_fla
Section 196
//soundMenu1_140 (top_figures_2_2_fla.soundMenu1_140) package top_figures_2_2_fla { import flash.display.*; public dynamic class soundMenu1_140 extends MovieClip { public var blick2:MovieClip; public function soundMenu1_140(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 197
//star_277 (top_figures_2_2_fla.star_277) package top_figures_2_2_fla { import flash.display.*; public dynamic class star_277 extends MovieClip { public function star_277(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 198
//Symbol5_29 (top_figures_2_2_fla.Symbol5_29) package top_figures_2_2_fla { import flash.display.*; public dynamic class Symbol5_29 extends MovieClip { public function Symbol5_29(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package top_figures_2_2_fla
Section 199
//Symbol5_292 (top_figures_2_2_fla.Symbol5_292) package top_figures_2_2_fla { import flash.display.*; public dynamic class Symbol5_292 extends MovieClip { public function Symbol5_292(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 200
//Symbol6_45 (top_figures_2_2_fla.Symbol6_45) package top_figures_2_2_fla { import flash.display.*; public dynamic class Symbol6_45 extends MovieClip { public function Symbol6_45(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package top_figures_2_2_fla
Section 201
//vrashalka_124 (top_figures_2_2_fla.vrashalka_124) package top_figures_2_2_fla { import flash.display.*; public dynamic class vrashalka_124 extends MovieClip { public function vrashalka_124(){ addFrameScript(19,  ); } function  (){ gotoAndPlay(1); } } }//package top_figures_2_2_fla
Section 202
//z_2_135 (top_figures_2_2_fla.z_2_135) package top_figures_2_2_fla { import flash.display.*; public dynamic class z_2_135 extends MovieClip { public function z_2_135(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 203
//z_2_54 (top_figures_2_2_fla.z_2_54) package top_figures_2_2_fla { import flash.display.*; public dynamic class z_2_54 extends MovieClip { public function z_2_54(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package top_figures_2_2_fla
Section 204
//block_type_1 (block_type_1) package { import flash.display.*; public dynamic class block_type_1 extends MovieClip { } }//package
Section 205
//boom1 (boom1) package { import flash.media.*; public dynamic class boom1 extends Sound { } }//package
Section 206
//boom2 (boom2) package { import flash.media.*; public dynamic class boom2 extends Sound { } }//package
Section 207
//boom3 (boom3) package { import flash.media.*; public dynamic class boom3 extends Sound { } }//package
Section 208
//boom4 (boom4) package { import flash.media.*; public dynamic class boom4 extends Sound { } }//package
Section 209
//boom5 (boom5) package { import flash.media.*; public dynamic class boom5 extends Sound { } }//package
Section 210
//Compeleted (Compeleted) package { import flash.display.*; public dynamic class Compeleted extends MovieClip { public function Compeleted(){ addFrameScript(22,  ); } function  (){ stop(); } } }//package
Section 211
//floor (floor) package { import flash.display.*; public dynamic class floor extends MovieClip { } }//package
Section 212
//m_game (m_game) package { import flash.media.*; public dynamic class m_game extends Sound { } }//package
Section 213
//m_map (m_map) package { import flash.media.*; public dynamic class m_map extends Sound { } }//package
Section 214
//m_menu (m_menu) package { import flash.media.*; public dynamic class m_menu extends Sound { } }//package
Section 215
//pauseText (pauseText) package { import com.gamezhero.gamearea.*; public dynamic class pauseText extends MultiText { public function pauseText(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 216
//playGameText (playGameText) package { import com.gamezhero.gamearea.*; public dynamic class playGameText extends MultiText { public function playGameText(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 217
//preloader_vrachalka (preloader_vrachalka) package { import flash.display.*; import com.gamezhero.gamearea.*; public dynamic class preloader_vrachalka extends PreloaderVrashalka { public function preloader_vrachalka(){ addFrameScript(39,  ); } function  (){ (this as MovieClip).gotoAndPlay(1); } } }//package
Section 218
//putThisGametext (putThisGametext) package { import com.gamezhero.gamearea.*; public dynamic class putThisGametext extends MultiText { } }//package
Section 219
//s_begin_level (s_begin_level) package { import flash.media.*; public dynamic class s_begin_level extends Sound { } }//package
Section 220
//s_click (s_click) package { import flash.media.*; public dynamic class s_click extends Sound { } }//package
Section 221
//s_complete_level (s_complete_level) package { import flash.media.*; public dynamic class s_complete_level extends Sound { } }//package
Section 222
//s_gravity (s_gravity) package { import flash.media.*; public dynamic class s_gravity extends Sound { } }//package
Section 223
//s_gravity2 (s_gravity2) package { import flash.media.*; public dynamic class s_gravity2 extends Sound { } }//package
Section 224
//s_over (s_over) package { import flash.media.*; public dynamic class s_over extends Sound { } }//package
Section 225
//shadow1 (shadow1) package { import flash.display.*; public dynamic class shadow1 extends MovieClip { } }//package
Section 226
//shadow10 (shadow10) package { import flash.display.*; public dynamic class shadow10 extends MovieClip { } }//package
Section 227
//shadow11 (shadow11) package { import flash.display.*; public dynamic class shadow11 extends MovieClip { } }//package
Section 228
//shadow12 (shadow12) package { import flash.display.*; public dynamic class shadow12 extends MovieClip { } }//package
Section 229
//shadow13 (shadow13) package { import flash.display.*; public dynamic class shadow13 extends MovieClip { } }//package
Section 230
//shadow14 (shadow14) package { import flash.display.*; public dynamic class shadow14 extends MovieClip { } }//package
Section 231
//shadow15 (shadow15) package { import flash.display.*; public dynamic class shadow15 extends MovieClip { } }//package
Section 232
//shadow16 (shadow16) package { import flash.display.*; public dynamic class shadow16 extends MovieClip { } }//package
Section 233
//shadow17 (shadow17) package { import flash.display.*; public dynamic class shadow17 extends MovieClip { } }//package
Section 234
//shadow18 (shadow18) package { import flash.display.*; public dynamic class shadow18 extends MovieClip { } }//package
Section 235
//shadow19 (shadow19) package { import flash.display.*; public dynamic class shadow19 extends MovieClip { } }//package
Section 236
//shadow2 (shadow2) package { import flash.display.*; public dynamic class shadow2 extends MovieClip { } }//package
Section 237
//shadow20 (shadow20) package { import flash.display.*; public dynamic class shadow20 extends MovieClip { } }//package
Section 238
//shadow21 (shadow21) package { import flash.display.*; public dynamic class shadow21 extends MovieClip { } }//package
Section 239
//shadow22 (shadow22) package { import flash.display.*; public dynamic class shadow22 extends MovieClip { } }//package
Section 240
//shadow23 (shadow23) package { import flash.display.*; public dynamic class shadow23 extends MovieClip { } }//package
Section 241
//shadow24 (shadow24) package { import flash.display.*; public dynamic class shadow24 extends MovieClip { } }//package
Section 242
//shadow25 (shadow25) package { import flash.display.*; public dynamic class shadow25 extends MovieClip { } }//package
Section 243
//shadow26 (shadow26) package { import flash.display.*; public dynamic class shadow26 extends MovieClip { } }//package
Section 244
//shadow27 (shadow27) package { import flash.display.*; public dynamic class shadow27 extends MovieClip { } }//package
Section 245
//shadow28 (shadow28) package { import flash.display.*; public dynamic class shadow28 extends MovieClip { } }//package
Section 246
//shadow29 (shadow29) package { import flash.display.*; public dynamic class shadow29 extends MovieClip { } }//package
Section 247
//shadow3 (shadow3) package { import flash.display.*; public dynamic class shadow3 extends MovieClip { } }//package
Section 248
//shadow30 (shadow30) package { import flash.display.*; public dynamic class shadow30 extends MovieClip { } }//package
Section 249
//shadow31 (shadow31) package { import flash.display.*; public dynamic class shadow31 extends MovieClip { } }//package
Section 250
//shadow4 (shadow4) package { import flash.display.*; public dynamic class shadow4 extends MovieClip { } }//package
Section 251
//shadow5 (shadow5) package { import flash.display.*; public dynamic class shadow5 extends MovieClip { } }//package
Section 252
//shadow6 (shadow6) package { import flash.display.*; public dynamic class shadow6 extends MovieClip { } }//package
Section 253
//shadow7 (shadow7) package { import flash.display.*; public dynamic class shadow7 extends MovieClip { } }//package
Section 254
//shadow8 (shadow8) package { import flash.display.*; public dynamic class shadow8 extends MovieClip { } }//package
Section 255
//shadow9 (shadow9) package { import flash.display.*; public dynamic class shadow9 extends MovieClip { } }//package
Section 256
//SunLight (SunLight) package { import flash.display.*; public dynamic class SunLight extends MovieClip { } }//package
Section 257
//TopFigures2 (TopFigures2) package { import flash.events.*; import flash.display.*; import com.gamezhero.as3.remoting.events.*; import com.gamezhero.as3.remoting.*; import com.gamezhero.as3.*; import com.gamezhero.*; import com.gamezhero.media.*; import com.gamezhero.utils.*; import flash.system.*; public class TopFigures2 extends MovieClip { private var  :uint;// = 2 private var remotingLevelGateway:RemotingLevelsGateway; private var  :ClassLoader; private var  ; private var  :Boolean;// = false public function TopFigures2():void{   = false;   = 2; super(); addFrameScript(0, frame1); Security.allowDomain("gamezhero.com", "files.gamezhero.com", "www.gamezhero.com", "*.gamezhero.com", "*", "*.*", "*.*.*"); stage.stageFocusRect = false; stage.scaleMode = StageScaleMode.NO_SCALE;  (); } public function  ():void{ if (Global._game_stored_data.data.completedLevels == undefined){ Global._game_stored_data.data.completedLevels = new Array(); }; trace("INI MAIN STAGE"); Global._language = root.loaderInfo.parameters["language"]; Global._language = "ENG"; if (root.loaderInfo.parameters["level_id"]){ Global.previewLevelID = root.loaderInfo.parameters["level_id"]; } else { Global.previewLevelID = "-1"; }; Global.gamezhero_code = Number(root.loaderInfo.parameters["gamezhero_code"]); ();  (); iniPreloader(); if (Global.previewLevelID != "-1"){  (); } else {  --;  (); }; this.gotoAndStop(1); } public function  ():void{ trace(("nextStep " +  )); if (  <= 0){ if ( ){  .stopPopUp(); }; this.gotoAndStop(2); }; } function frame1(){ stop(); } private function  (_arg1:Event):void{ } private function  ():void{ try { remotingLevelGateway = new RemotingLevelsGateway("http://www.gamezhero.com/chat/gateway.php"); remotingLevelGateway.addEventListener(RemotingLevelsEvent.GET_LEVEL,  ); remotingLevelGateway.getLevel(Global.editorGameID, Global.previewLevelID); } catch(e:Error) {  --;  (); }; } private function  ():void{ Global.music_interface = new Music(); Global.music_game = new Music(); Global.sound_interface = new SoundFX(); Global.sound_game = new SoundFX(); if (isNaN(Global._game_stored_data.data.soundVolumeFlag)){ Global._game_stored_data.data.soundVolumeFlag = 1; }; if (isNaN(Global._game_stored_data.data.musicVolumeFlag)){ Global._game_stored_data.data.musicVolumeFlag = 1; }; Global.iniSoundAndMusic(); } public function  (_arg1:Event=null):void{  --;  (); } private function  (_arg1:RemotingLevelsEvent=null):void{ var result:*; var arr:Array; var event = _arg1; result = event.value; Global.previewLevel = String(result); arr = new Array(); try { arr = (Global.uncrypt(Global.previewLevel) as Array); if (arr.length == 0){ Global.previewLevel = "-1"; }; } catch(e:Error) { Global.previewLevel = "-1"; };  --;  (); } private function clearEvents():void{ try { remotingLevelGateway.removeEventListener(RemotingLevelsEvent.GET_LEVEL,  ); } catch(e:Error) { };  .removeEventListener(ClassLoader.LOAD_ERROR,  );  .removeEventListener(ClassLoader.CLASS_LOADED, ); } private function (_arg1:Event):void{ var proClass:Class; var e = _arg1; try { proClass =  .getClass("superPro3");  = new proClass(this, 1197710244855, Global.gamezhero_code, "incablocks"); } catch(e:Error) { }; } private function ():void{ if (  == false){   = true;   = new ClassLoader();  .addEventListener(ClassLoader.LOAD_ERROR,  );  .addEventListener(ClassLoader.CLASS_LOADED, ); try {  .load(("http://files.gamezhero.com/flash/superPro3.swf?time" + new Date().getTime())); } catch(e:Error) { trace("ERROR"); }; }; } public function iniPreloader():void{ var _local1:GamePreloader; GamezheroGlobal.gameName = "incablocks"; _local1 = new GamePreloader(this, {debug:false}); _local1.addEventListener(GamePreloader.finish,  ); Global.iniUrls(this.stage); } } }//package
Section 258
//Trees (Trees) package { import flash.display.*; public dynamic class Trees extends MovieClip { } }//package
Section 259
//type1 (type1) package { import flash.display.*; public dynamic class type1 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 260
//type10 (type10) package { import flash.display.*; public dynamic class type10 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 261
//type11 (type11) package { import flash.display.*; public dynamic class type11 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 262
//type12 (type12) package { import flash.display.*; public dynamic class type12 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 263
//type13 (type13) package { import flash.display.*; public dynamic class type13 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 264
//type14 (type14) package { import flash.display.*; public dynamic class type14 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 265
//type15 (type15) package { import flash.display.*; public dynamic class type15 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 266
//type16 (type16) package { import flash.display.*; public dynamic class type16 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 267
//type17 (type17) package { import flash.display.*; public dynamic class type17 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 268
//type18 (type18) package { import flash.display.*; public dynamic class type18 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 269
//type19 (type19) package { import flash.display.*; public dynamic class type19 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 270
//type2 (type2) package { import flash.display.*; public dynamic class type2 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 271
//type20 (type20) package { import flash.display.*; public dynamic class type20 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 272
//type21 (type21) package { import flash.display.*; public dynamic class type21 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 273
//type22 (type22) package { import flash.display.*; public dynamic class type22 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 274
//type23 (type23) package { import flash.display.*; public dynamic class type23 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 275
//type24 (type24) package { import flash.display.*; public dynamic class type24 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 276
//type25 (type25) package { import flash.display.*; public dynamic class type25 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 277
//type26 (type26) package { import flash.display.*; public dynamic class type26 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 278
//type27 (type27) package { import flash.display.*; public dynamic class type27 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 279
//type28 (type28) package { import flash.display.*; public dynamic class type28 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 280
//type29 (type29) package { import flash.display.*; public dynamic class type29 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 281
//type3 (type3) package { import flash.display.*; public dynamic class type3 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 282
//type30 (type30) package { import flash.display.*; public dynamic class type30 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 283
//type31 (type31) package { import flash.display.*; public dynamic class type31 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 284
//type4 (type4) package { import flash.display.*; public dynamic class type4 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 285
//type5 (type5) package { import flash.display.*; public dynamic class type5 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 286
//type6 (type6) package { import flash.display.*; public dynamic class type6 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 287
//type7 (type7) package { import flash.display.*; public dynamic class type7 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 288
//type8 (type8) package { import flash.display.*; public dynamic class type8 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 289
//type9 (type9) package { import flash.display.*; public dynamic class type9 extends MovieClip { public var shadow:MovieClip; public var body:MovieClip; public var design:MovieClip; } }//package
Section 290
//zorroLogo2 (zorroLogo2) package { import com.gamezhero.as3.btn.*; public dynamic class zorroLogo2 extends ZorroLogo { } }//package

Library Items

Symbol 1 GraphicUsed by:2 67 166 330 467 478 729 942  Timeline
Symbol 2 MovieClipUses:1Used by:34
Symbol 3 GraphicUsed by:9
Symbol 4 GraphicUsed by:8 9
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:8
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:4 6 7Used by:9
Symbol 9 MovieClip {top_figures_2_2_fla.gamezhero_preloaderLine_358}Uses:3 4 8Used by:33
Symbol 10 ShapeTweeningUsed by:33
Symbol 11 ShapeTweeningUsed by:33
Symbol 12 ShapeTweeningUsed by:33
Symbol 13 GraphicUsed by:33
Symbol 14 GraphicUsed by:15 49 56 238 243 472
Symbol 15 MovieClipUses:14Used by:33
Symbol 16 GraphicUsed by:17 50 56 239 243 473
Symbol 17 MovieClipUses:16Used by:33
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:24
Symbol 20 ShapeTweeningUsed by:23
Symbol 21 ShapeTweeningUsed by:23
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClipUses:20 21 22Used by:24
Symbol 24 MovieClipUses:19 23Used by:26 274 275
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClip {preloader_vrachalka}Uses:24 25Used by:33
Symbol 27 GraphicUsed by:28 48
Symbol 28 ButtonUses:27Used by:33
Symbol 29 ShapeTweeningUsed by:33
Symbol 30 GraphicUsed by:31
Symbol 31 ButtonUses:30Used by:33
Symbol 32 GraphicUsed by:33 73 213 299 924
Symbol 33 MovieClip {top_figures_2_2_fla.gamezhero_gameZheroPreloader_357}Uses:9 10 11 12 13 15 17 26 28 29 31 32Used by:34
Symbol 34 MovieClip {com.gamezhero.as3.GamePreloader}Uses:2 33
Symbol 35 GraphicUsed by:36
Symbol 36 ButtonUses:35Used by:39
Symbol 37 GraphicUsed by:39
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClip {classes.gamezhero.FlashChecker}Uses:36 37 38
Symbol 40 GraphicUsed by:43 45
Symbol 41 FontUsed by:42 44 427 429 430 431 456 486 759 760 761 762 763 791 799
Symbol 42 EditableTextUses:41Used by:43
Symbol 43 Button {com.gamezhero.as3.btn.TopScore}Uses:40 42
Symbol 44 EditableTextUses:41Used by:45
Symbol 45 Button {com.gamezhero.as3.btn.MoreGames}Uses:40 44
Symbol 46 GraphicUsed by:48
Symbol 47 GraphicUsed by:48
Symbol 48 Button {zorroLogo2}Uses:46 27 47
Symbol 49 MovieClipUses:14Used by:56
Symbol 50 MovieClipUses:16Used by:51
Symbol 51 MovieClip {top_figures_2_2_fla.gamezhero_z_2_347}Uses:50Used by:56
Symbol 52 GraphicUsed by:55 56 242 243 476
Symbol 53 ShapeTweeningUsed by:55 56
Symbol 54 GraphicUsed by:55 242 316 476
Symbol 55 MovieClipUses:52 53 54Used by:56
Symbol 56 Button {com.gamezhero.as3.btn.ZorroLogo}Uses:49 51 55 14 16 52 53
Symbol 57 BitmapUsed by:58 60
Symbol 58 GraphicUses:57Used by:59
Symbol 59 MovieClipUses:58Used by:73
Symbol 60 GraphicUses:57Used by:61
Symbol 61 MovieClipUses:60Used by:73
Symbol 62 BitmapUsed by:63 65
Symbol 63 GraphicUses:62Used by:64
Symbol 64 MovieClipUses:63Used by:73
Symbol 65 GraphicUses:62Used by:66
Symbol 66 MovieClipUses:65Used by:73
Symbol 67 MovieClipUses:1Used by:73
Symbol 68 BitmapUsed by:69 71
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClipUses:69Used by:73
Symbol 71 GraphicUses:68Used by:72
Symbol 72 MovieClipUses:71Used by:73
Symbol 73 MovieClip {com.gamezhero.Gate}Uses:32 59 61 64 66 67 70 72
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76 120
Symbol 76 MovieClipUses:75Used by:120
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClipUses:77Used by:81 119
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:81 119
Symbol 81 MovieClip {top_figures_2_2_fla.cursor_light2_256}Uses:78 80Used by:120
Symbol 82 BitmapUsed by:83
Symbol 83 GraphicUses:82Used by:118
Symbol 84 BitmapUsed by:85
Symbol 85 GraphicUses:84Used by:118
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:118
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:118
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:118
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:118
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:118
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:118
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:118
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:118
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:118
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:118
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:118
Symbol 108 BitmapUsed by:109
Symbol 109 GraphicUses:108Used by:118
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:118
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:118
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:118
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:118
Symbol 118 MovieClipUses:83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117Used by:120
Symbol 119 MovieClip {top_figures_2_2_fla.cursor_light_260}Uses:78 80Used by:120
Symbol 120 MovieClip {com.gamezhero.game.Cursor}Uses:76 75 81 118 119Used by:942
Symbol 121 GraphicUsed by:124
Symbol 122 GraphicUsed by:123
Symbol 123 MovieClipUses:122Used by:124
Symbol 124 MovieClip {com.gamezhero.gameComponents.BtnSoundControl}Uses:121 123Used by:487
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:130
Symbol 127 ShapeTweeningUsed by:129 130 133 136 139 142 145 148 151 154 159 162 165
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClip {top_figures_2_2_fla.flag_bg_4}Uses:127 128Used by:130 133 136 139 142 145 148 151 154 159 162 165
Symbol 130 ButtonUses:126 129 127Used by:166
Symbol 131 BitmapUsed by:132
Symbol 132 GraphicUses:131Used by:133
Symbol 133 ButtonUses:132 129 127Used by:166
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:136
Symbol 136 ButtonUses:135 129 127Used by:166
Symbol 137 BitmapUsed by:138
Symbol 138 GraphicUses:137Used by:139
Symbol 139 ButtonUses:138 129 127Used by:166
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:142
Symbol 142 ButtonUses:141 129 127Used by:166
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:145
Symbol 145 ButtonUses:144 129 127Used by:166
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:148
Symbol 148 ButtonUses:147 129 127Used by:166
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:151
Symbol 151 ButtonUses:150 129 127Used by:166
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:154
Symbol 154 ButtonUses:153 129 127Used by:166
Symbol 155 FontUsed by:156
Symbol 156 EditableTextUses:155Used by:166
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:159
Symbol 159 ButtonUses:158 129 127Used by:166
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:162
Symbol 162 ButtonUses:161 129 127Used by:166
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:165
Symbol 165 ButtonUses:164 129 127Used by:166
Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage}Uses:1 130 133 136 139 142 145 148 151 154 156 159 162 165Used by:942
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:169
Symbol 169 MovieClipUses:168Used by:279 487
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170Used by:172
Symbol 172 MovieClipUses:171Used by:279 487
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:175
Symbol 175 MovieClipUses:174Used by:192
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:178
Symbol 178 MovieClipUses:177Used by:192
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:181
Symbol 181 MovieClipUses:180Used by:192 302 459
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:184
Symbol 184 MovieClipUses:183Used by:192
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:187
Symbol 187 MovieClipUses:186Used by:192
Symbol 188 GraphicUsed by:192
Symbol 189 BitmapUsed by:190
Symbol 190 GraphicUses:189Used by:191
Symbol 191 MovieClipUses:190Used by:192 302 459
Symbol 192 MovieClipUses:175 178 181 184 187 188 191Used by:193
Symbol 193 MovieClipUses:192Used by:279
Symbol 194 FontUsed by:195 196 202 203 209 214 220 221 222 228 229 295 304 341 360 362 384 386 391 405 470 773
Symbol 195 TextUses:194Used by:197
Symbol 196 TextUses:194Used by:197
Symbol 197 MovieClipUses:195 196Used by:198 201
Symbol 198 MovieClipUses:197Used by:199
Symbol 199 MovieClip {top_figures_2_2_fla.Symbol5_29}Uses:198Used by:201
Symbol 200 GraphicUsed by:201
Symbol 201 ButtonUses:197 199 200Used by:279
Symbol 202 TextUses:194Used by:204
Symbol 203 TextUses:194Used by:204
Symbol 204 MovieClipUses:202 203Used by:205 208
Symbol 205 MovieClipUses:204Used by:206
Symbol 206 MovieClip {top_figures_2_2_fla.menu_b3_33}Uses:205Used by:208
Symbol 207 GraphicUsed by:208
Symbol 208 ButtonUses:204 206 207Used by:279
Symbol 209 TextUses:194Used by:210
Symbol 210 MovieClipUses:209Used by:211 213
Symbol 211 MovieClipUses:210Used by:212
Symbol 212 MovieClip {top_figures_2_2_fla.menu_b1_37}Uses:211Used by:213
Symbol 213 ButtonUses:210 212 32Used by:279
Symbol 214 TextUses:194Used by:215
Symbol 215 MovieClipUses:214Used by:216 219
Symbol 216 MovieClipUses:215Used by:217
Symbol 217 MovieClip {top_figures_2_2_fla.menu_b5_41}Uses:216Used by:219
Symbol 218 GraphicUsed by:219
Symbol 219 ButtonUses:215 217 218Used by:279 302 459
Symbol 220 TextUses:194Used by:223
Symbol 221 TextUses:194Used by:223
Symbol 222 TextUses:194Used by:223
Symbol 223 MovieClipUses:220 221 222Used by:224 227
Symbol 224 MovieClipUses:223Used by:225
Symbol 225 MovieClip {top_figures_2_2_fla.Symbol6_45}Uses:224Used by:227
Symbol 226 GraphicUsed by:227
Symbol 227 ButtonUses:223 225 226Used by:279
Symbol 228 TextUses:194Used by:230
Symbol 229 TextUses:194Used by:230
Symbol 230 MovieClipUses:228 229Used by:231 234
Symbol 231 MovieClipUses:230Used by:232
Symbol 232 MovieClip {top_figures_2_2_fla.menu_b2_49}Uses:231Used by:234
Symbol 233 GraphicUsed by:234
Symbol 234 ButtonUses:230 232 233Used by:279
Symbol 235 BitmapUsed by:236
Symbol 236 GraphicUses:235Used by:237
Symbol 237 MovieClipUses:236Used by:279 459
Symbol 238 MovieClipUses:14Used by:243
Symbol 239 MovieClipUses:16Used by:240
Symbol 240 MovieClip {top_figures_2_2_fla.z_2_54}Uses:239Used by:243
Symbol 241 ShapeTweeningUsed by:242 243
Symbol 242 MovieClip {top_figures_2_2_fla.blick_56}Uses:52 241 54Used by:243
Symbol 243 ButtonUses:238 240 242 14 16 52 241Used by:279
Symbol 244 GraphicUsed by:247
Symbol 245 GraphicUsed by:247
Symbol 246 GraphicUsed by:247
Symbol 247 ButtonUses:244 245 246Used by:279
Symbol 248 GraphicUsed by:251 252
Symbol 249 FontUsed by:250
Symbol 250 TextUses:249Used by:251 252
Symbol 251 MovieClipUses:248 250Used by:252
Symbol 252 ButtonUses:251 248 250Used by:279
Symbol 253 FontUsed by:254 255 256 257 260 261 262 266
Symbol 254 TextUses:253Used by:267
Symbol 255 TextUses:253Used by:267
Symbol 256 TextUses:253Used by:267
Symbol 257 TextUses:253Used by:267
Symbol 258 FontUsed by:259 263 308 320 321 322 323 324 325 326 327 328
Symbol 259 TextUses:258Used by:267
Symbol 260 TextUses:253Used by:267
Symbol 261 TextUses:253Used by:267
Symbol 262 TextUses:253Used by:267
Symbol 263 TextUses:258Used by:267
Symbol 264 FontUsed by:265
Symbol 265 TextUses:264Used by:267
Symbol 266 TextUses:253Used by:267
Symbol 267 MovieClip {putThisGametext}Uses:254 255 256 257 259 260 261 262 263 265 266Used by:279
Symbol 268 GraphicUsed by:269
Symbol 269 MovieClipUses:268Used by:270
Symbol 270 MovieClipUses:269Used by:271 272
Symbol 271 MovieClipUses:270Used by:273
Symbol 272 MovieClipUses:270Used by:273
Symbol 273 MovieClip {top_figures_2_2_fla.__61}Uses:271 272Used by:279 302
Symbol 274 MovieClipUses:24Used by:275
Symbol 275 MovieClipUses:274 24Used by:279
Symbol 276 FontUsed by:277 278
Symbol 277 EditableTextUses:276Used by:279
Symbol 278 TextUses:276Used by:279
Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu}Uses:169 172 193 201 208 213 219 227 234 237 243 247 252 267 273 275 277 278Used by:942
Symbol 280 BitmapUsed by:281 331 775
Symbol 281 GraphicUses:280Used by:282
Symbol 282 MovieClipUses:281Used by:302 305 459
Symbol 283 BitmapUsed by:284
Symbol 284 GraphicUses:283Used by:285
Symbol 285 MovieClipUses:284Used by:291
Symbol 286 FontUsed by:287 415
Symbol 287 EditableTextUses:286 292Used by:291
Symbol 288 GraphicUsed by:289
Symbol 289 MovieClipUses:288Used by:291
Symbol 290 GraphicUsed by:291 479
Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}Uses:285 287 289 290Used by:302
Symbol 292 FontUsed by:287 293 294 415 435 447 449 451 457 748 752 756 757 758 781 786 789 795 798 803 806 809 816
Symbol 293 EditableTextUses:292Used by:302
Symbol 294 TextUses:292Used by:302
Symbol 295 TextUses:194Used by:296
Symbol 296 MovieClipUses:295Used by:297 299
Symbol 297 MovieClipUses:296Used by:298
Symbol 298 MovieClip {top_figures_2_2_fla.menu_b1copy_77}Uses:297Used by:299
Symbol 299 ButtonUses:296 298 32Used by:302 459
Symbol 300 FontUsed by:301 303 382 389 407 458
Symbol 301 TextUses:300Used by:302
Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap}Uses:282 291 293 294 273 191 181 299 219 301Used by:942
Symbol 303 TextUses:300Used by:305
Symbol 304 TextUses:194Used by:305
Symbol 305 MovieClip {com.gamezhero.gamearea.gameFormScore}Uses:282 303 304Used by:942
Symbol 306 FontUsed by:307 309 428 432 433
Symbol 307 EditableTextUses:306Used by:330
Symbol 308 TextUses:258Used by:330
Symbol 309 EditableTextUses:306Used by:330
Symbol 310 GraphicUsed by:318
Symbol 311 GraphicUsed by:312 318
Symbol 312 MovieClipUses:311Used by:318
Symbol 313 GraphicUsed by:318
Symbol 314 GraphicUsed by:316 318
Symbol 315 ShapeTweeningUsed by:316 318
Symbol 316 MovieClip {top_figures_2_2_fla.blick4_83}Uses:314 315 54Used by:318
Symbol 317 GraphicUsed by:318
Symbol 318 ButtonUses:310 312 313 316 317 311 314 315Used by:330
Symbol 319 GraphicUsed by:329
Symbol 320 TextUses:258Used by:329
Symbol 321 TextUses:258Used by:329
Symbol 322 TextUses:258Used by:329
Symbol 323 TextUses:258Used by:329
Symbol 324 TextUses:258Used by:329
Symbol 325 TextUses:258Used by:329
Symbol 326 TextUses:258Used by:329
Symbol 327 TextUses:258Used by:329
Symbol 328 TextUses:258Used by:329
Symbol 329 MovieClip {playGameText}Uses:319 320 321 322 323 324 325 326 327 328Used by:330
Symbol 330 MovieClip {classes.gamearea.gameFormRelease}Uses:1 307 308 309 318 329Used by:942
Symbol 331 GraphicUses:280Used by:332
Symbol 332 MovieClipUses:331Used by:410
Symbol 333 GraphicUsed by:334
Symbol 334 ButtonUses:333Used by:410
Symbol 335 GraphicUsed by:336
Symbol 336 MovieClipUses:335Used by:337
Symbol 337 MovieClipUses:336Used by:410
Symbol 338 GraphicUsed by:369
Symbol 339 GraphicUsed by:369
Symbol 340 GraphicUsed by:342
Symbol 341 TextUses:194Used by:342
Symbol 342 MovieClipUses:340 341Used by:369 388 402
Symbol 343 GraphicUsed by:344
Symbol 344 MovieClipUses:343Used by:354 783
Symbol 345 BitmapUsed by:346
Symbol 346 GraphicUses:345Used by:347
Symbol 347 MovieClipUses:346Used by:354
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:350
Symbol 350 MovieClipUses:349Used by:354
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:351Used by:353
Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}Uses:352Used by:354 380 496 505 514 523 532 541 550 559 568 574 583 592 601 610 613 622 625 634 637 646 655 664 673 682 691 700 709 718 727
Symbol 354 MovieClip {type10}Uses:344 347 350 353Used by:369 388 402 409 728
Symbol 355 GraphicUsed by:369 388 402
Symbol 356 GraphicUsed by:357
Symbol 357 MovieClipUses:356Used by:358
Symbol 358 MovieClipUses:357Used by:369 388 402
Symbol 359 GraphicUsed by:369 409
Symbol 360 TextUses:194Used by:369
Symbol 361 GraphicUsed by:369
Symbol 362 TextUses:194Used by:369
Symbol 363 GraphicUsed by:369 388 402
Symbol 364 GraphicUsed by:368 402 738 744
Symbol 365 ShapeTweeningUsed by:368
Symbol 366 GraphicUsed by:368
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClip {top_figures_2_2_fla.arrow_show_101}Uses:364 365 366 367Used by:369 388
Symbol 369 MovieClip {top_figures_2_2_fla.help1_91}Uses:338 339 342 354 355 358 359 360 361 362 363 368Used by:410
Symbol 370 GraphicUsed by:388 402
Symbol 371 GraphicUsed by:388 402
Symbol 372 GraphicUsed by:373
Symbol 373 MovieClipUses:372Used by:380 783
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:376
Symbol 376 MovieClipUses:375Used by:380
Symbol 377 BitmapUsed by:378
Symbol 378 GraphicUses:377Used by:379
Symbol 379 MovieClipUses:378Used by:380
Symbol 380 MovieClip {type25}Uses:373 376 379 353Used by:388 728
Symbol 381 GraphicUsed by:388 402
Symbol 382 TextUses:300Used by:388
Symbol 383 GraphicUsed by:388
Symbol 384 TextUses:194Used by:388
Symbol 385 GraphicUsed by:388 402
Symbol 386 TextUses:194Used by:387
Symbol 387 MovieClipUses:386Used by:388
Symbol 388 MovieClip {top_figures_2_2_fla.help2_102}Uses:370 371 380 342 354 381 382 355 358 383 384 385 363 368 387Used by:410
Symbol 389 TextUses:300Used by:402
Symbol 390 GraphicUsed by:402
Symbol 391 TextUses:194Used by:402
Symbol 392 ShapeTweeningUsed by:402
Symbol 393 ShapeTweeningUsed by:402
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClipUses:394Used by:396
Symbol 396 MovieClip {top_figures_2_2_fla.arrow_3_109}Uses:395Used by:402 745
Symbol 397 GraphicUsed by:402
Symbol 398 ShapeTweeningUsed by:402
Symbol 399 GraphicUsed by:402 441
Symbol 400 ShapeTweeningUsed by:402
Symbol 401 GraphicUsed by:402
Symbol 402 MovieClip {top_figures_2_2_fla.help3_108}Uses:370 371 342 354 381 389 355 390 391 358 385 364 392 393 396 397 363 398 399 400 401Used by:410
Symbol 403 GraphicUsed by:409
Symbol 404 GraphicUsed by:409
Symbol 405 TextUses:194Used by:409
Symbol 406 GraphicUsed by:409
Symbol 407 TextUses:300Used by:409
Symbol 408 GraphicUsed by:409
Symbol 409 MovieClipUses:403 404 354 359 405 406 407 408Used by:410
Symbol 410 MovieClip {top_figures_2_2_fla._levelselect0004copy_86}Uses:332 334 337 369 388 402 409Used by:411
Symbol 411 MovieClip {com.gamezhero.game.Game}Uses:410Used by:942
Symbol 412 GraphicUsed by:413
Symbol 413 MovieClipUses:412Used by:459
Symbol 414 GraphicUsed by:459
Symbol 415 EditableTextUses:286 292Used by:459
Symbol 416 BitmapUsed by:417 419 746 768 780 784 793 801
Symbol 417 GraphicUses:416Used by:421
Symbol 418 GraphicUsed by:421
Symbol 419 GraphicUses:416Used by:421
Symbol 420 GraphicUsed by:421
Symbol 421 MovieClip {top_figures_2_2_fla.bgSelectorItem_115}Uses:417 418 419 420Used by:438
Symbol 422 GraphicUsed by:426
Symbol 423 GraphicUsed by:426
Symbol 424 ShapeTweeningUsed by:426
Symbol 425 GraphicUsed by:426
Symbol 426 MovieClipUses:422 423 424 425Used by:438
Symbol 427 EditableTextUses:41Used by:438
Symbol 428 TextUses:306Used by:438
Symbol 429 EditableTextUses:41Used by:438
Symbol 430 EditableTextUses:41Used by:438
Symbol 431 EditableTextUses:41Used by:438
Symbol 432 TextUses:306Used by:438
Symbol 433 TextUses:306Used by:438
Symbol 434 GraphicUsed by:437
Symbol 435 TextUses:292Used by:437
Symbol 436 GraphicUsed by:437
Symbol 437 ButtonUses:434 435 436Used by:438
Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}Uses:421 426 427 428 429 430 431 432 433 437Used by:459
Symbol 439 GraphicUsed by:441 443
Symbol 440 GraphicUsed by:441 443
Symbol 441 ButtonUses:439 399 440Used by:459
Symbol 442 GraphicUsed by:443
Symbol 443 ButtonUses:439 442 440Used by:459
Symbol 444 GraphicUsed by:446
Symbol 445 GraphicUsed by:446
Symbol 446 ButtonUses:444 445Used by:448 450 452
Symbol 447 TextUses:292Used by:448
Symbol 448 MovieClip {top_figures_2_2_fla.recent_mc_120}Uses:446 447Used by:459
Symbol 449 TextUses:292Used by:450
Symbol 450 MovieClip {top_figures_2_2_fla.best_mc_122}Uses:446 449Used by:459
Symbol 451 TextUses:292Used by:452
Symbol 452 MovieClip {top_figures_2_2_fla.author_mc_123}Uses:446 451Used by:459
Symbol 453 GraphicUsed by:455
Symbol 454 GraphicUsed by:455
Symbol 455 MovieClip {top_figures_2_2_fla.vrashalka_124}Uses:453 454Used by:459
Symbol 456 EditableTextUses:41Used by:459
Symbol 457 TextUses:292Used by:459
Symbol 458 TextUses:300Used by:459
Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore}Uses:282 191 181 299 219 413 414 415 237 438 441 443 448 450 452 455 456 457 458Used by:942
Symbol 460 GraphicUsed by:461
Symbol 461 MovieClip {block_type_1}Uses:460Used by:942
Symbol 462 MovieClip {floor}Used by:942
Symbol 463 GraphicUsed by:468 729
Symbol 464 BitmapUsed by:465
Symbol 465 GraphicUses:464Used by:466
Symbol 466 MovieClipUses:465Used by:467 729
Symbol 467 MovieClip {top_figures_2_2_fla.line_129}Uses:1 466Used by:468
Symbol 468 MovieClip {top_figures_2_2_fla.arrow__128}Uses:463 467Used by:469
Symbol 469 MovieClip {com.gamezhero.game.PowerArrow}Uses:468Used by:942
Symbol 470 TextUses:194Used by:471
Symbol 471 MovieClip {pauseText}Uses:470Used by:487
Symbol 472 MovieClipUses:14Used by:477 478 479 482 485
Symbol 473 MovieClipUses:16Used by:474
Symbol 474 MovieClip {top_figures_2_2_fla.z_2_135}Uses:473Used by:477
Symbol 475 ShapeTweeningUsed by:476
Symbol 476 MovieClip {top_figures_2_2_fla.blick_137}Uses:52 475 54Used by:477 478 479 482 485
Symbol 477 MovieClip {top_figures_2_2_fla.gamezhero1_133}Uses:472 474 476Used by:487
Symbol 478 MovieClip {top_figures_2_2_fla.pauseMenu1_138}Uses:472 1 476Used by:487
Symbol 479 MovieClip {top_figures_2_2_fla.pauseMenu2_139}Uses:472 290 476Used by:487
Symbol 480 GraphicUsed by:482
Symbol 481 GraphicUsed by:482
Symbol 482 MovieClip {top_figures_2_2_fla.soundMenu1_140}Uses:472 480 476 481Used by:487
Symbol 483 GraphicUsed by:485
Symbol 484 GraphicUsed by:485
Symbol 485 MovieClip {top_figures_2_2_fla.musicMenu_143}Uses:472 483 476 484Used by:487
Symbol 486 EditableTextUses:41Used by:487
Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu}Uses:169 471 477 478 479 482 124 485 486 172Used by:942
Symbol 488 GraphicUsed by:489
Symbol 489 MovieClipUses:488Used by:496 783
Symbol 490 BitmapUsed by:491
Symbol 491 GraphicUses:490Used by:492
Symbol 492 MovieClipUses:491Used by:496
Symbol 493 BitmapUsed by:494
Symbol 494 GraphicUses:493Used by:495
Symbol 495 MovieClipUses:494Used by:496
Symbol 496 MovieClip {type30}Uses:489 492 495 353Used by:728
Symbol 497 GraphicUsed by:498
Symbol 498 MovieClipUses:497Used by:505 783
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:501
Symbol 501 MovieClipUses:500Used by:505
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:504
Symbol 504 MovieClipUses:503Used by:505
Symbol 505 MovieClip {type31}Uses:498 501 504 353Used by:728
Symbol 506 GraphicUsed by:507
Symbol 507 MovieClipUses:506Used by:514 783
Symbol 508 BitmapUsed by:509
Symbol 509 GraphicUses:508Used by:510
Symbol 510 MovieClipUses:509Used by:514
Symbol 511 BitmapUsed by:512
Symbol 512 GraphicUses:511Used by:513
Symbol 513 MovieClipUses:512Used by:514
Symbol 514 MovieClip {type29}Uses:507 510 513 353Used by:728
Symbol 515 GraphicUsed by:516
Symbol 516 MovieClipUses:515Used by:523 783
Symbol 517 BitmapUsed by:518
Symbol 518 GraphicUses:517Used by:519
Symbol 519 MovieClipUses:518Used by:523
Symbol 520 BitmapUsed by:521
Symbol 521 GraphicUses:520Used by:522
Symbol 522 MovieClipUses:521Used by:523
Symbol 523 MovieClip {type28}Uses:516 519 522 353Used by:728
Symbol 524 GraphicUsed by:525
Symbol 525 MovieClipUses:524Used by:532 783
Symbol 526 BitmapUsed by:527
Symbol 527 GraphicUses:526Used by:528
Symbol 528 MovieClipUses:527Used by:532
Symbol 529 BitmapUsed by:530
Symbol 530 GraphicUses:529Used by:531
Symbol 531 MovieClipUses:530Used by:532
Symbol 532 MovieClip {type27}Uses:525 528 531 353Used by:728
Symbol 533 GraphicUsed by:534
Symbol 534 MovieClipUses:533Used by:541 783
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:537
Symbol 537 MovieClipUses:536Used by:541
Symbol 538 BitmapUsed by:539
Symbol 539 GraphicUses:538Used by:540
Symbol 540 MovieClipUses:539Used by:541
Symbol 541 MovieClip {type26}Uses:534 537 540 353Used by:728
Symbol 542 GraphicUsed by:543
Symbol 543 MovieClipUses:542Used by:550 783
Symbol 544 BitmapUsed by:545
Symbol 545 GraphicUses:544Used by:546
Symbol 546 MovieClipUses:545Used by:550
Symbol 547 BitmapUsed by:548
Symbol 548 GraphicUses:547Used by:549
Symbol 549 MovieClipUses:548Used by:550
Symbol 550 MovieClip {type24}Uses:543 546 549 353Used by:728
Symbol 551 GraphicUsed by:552
Symbol 552 MovieClipUses:551Used by:559 783
Symbol 553 BitmapUsed by:554
Symbol 554 GraphicUses:553Used by:555
Symbol 555 MovieClipUses:554Used by:559
Symbol 556 BitmapUsed by:557
Symbol 557 GraphicUses:556Used by:558
Symbol 558 MovieClipUses:557Used by:559
Symbol 559 MovieClip {type23}Uses:552 555 558 353Used by:728
Symbol 560 GraphicUsed by:561
Symbol 561 MovieClipUses:560Used by:568 783
Symbol 562 BitmapUsed by:563
Symbol 563 GraphicUses:562Used by:564
Symbol 564 MovieClipUses:563Used by:568
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:567
Symbol 567 MovieClipUses:566Used by:568 574
Symbol 568 MovieClip {type22}Uses:561 564 567 353Used by:728
Symbol 569 GraphicUsed by:570
Symbol 570 MovieClipUses:569Used by:574 783
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:573
Symbol 573 MovieClipUses:572Used by:574
Symbol 574 MovieClip {type21}Uses:570 573 567 353Used by:728
Symbol 575 GraphicUsed by:576
Symbol 576 MovieClipUses:575Used by:583 783
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:579
Symbol 579 MovieClipUses:578Used by:583
Symbol 580 BitmapUsed by:581
Symbol 581 GraphicUses:580Used by:582
Symbol 582 MovieClipUses:581Used by:583
Symbol 583 MovieClip {type20}Uses:576 579 582 353Used by:728
Symbol 584 GraphicUsed by:585
Symbol 585 MovieClipUses:584Used by:592 783
Symbol 586 BitmapUsed by:587
Symbol 587 GraphicUses:586Used by:588
Symbol 588 MovieClipUses:587Used by:592
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:591
Symbol 591 MovieClipUses:590Used by:592
Symbol 592 MovieClip {type19}Uses:585 588 591 353Used by:728
Symbol 593 GraphicUsed by:594
Symbol 594 MovieClipUses:593Used by:601 783
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:597
Symbol 597 MovieClipUses:596Used by:601
Symbol 598 BitmapUsed by:599
Symbol 599 GraphicUses:598Used by:600
Symbol 600 MovieClipUses:599Used by:601
Symbol 601 MovieClip {type18}Uses:594 597 600 353Used by:728
Symbol 602 GraphicUsed by:603
Symbol 603 MovieClipUses:602Used by:610 783
Symbol 604 BitmapUsed by:605
Symbol 605 GraphicUses:604Used by:606
Symbol 606 MovieClipUses:605Used by:610 613
Symbol 607 BitmapUsed by:608
Symbol 608 GraphicUses:607Used by:609
Symbol 609 MovieClipUses:608Used by:610 613
Symbol 610 MovieClip {type17}Uses:603 606 609 353Used by:728
Symbol 611 GraphicUsed by:612
Symbol 612 MovieClipUses:611Used by:613 783
Symbol 613 MovieClip {type16}Uses:612 606 609 353Used by:728
Symbol 614 GraphicUsed by:615
Symbol 615 MovieClipUses:614Used by:622 783
Symbol 616 BitmapUsed by:617
Symbol 617 GraphicUses:616Used by:618
Symbol 618 MovieClipUses:617Used by:622 625
Symbol 619 BitmapUsed by:620
Symbol 620 GraphicUses:619Used by:621
Symbol 621 MovieClipUses:620Used by:622 625
Symbol 622 MovieClip {type15}Uses:615 618 621 353Used by:728
Symbol 623 GraphicUsed by:624
Symbol 624 MovieClipUses:623Used by:625 783
Symbol 625 MovieClip {type14}Uses:624 618 621 353Used by:728
Symbol 626 GraphicUsed by:627
Symbol 627 MovieClipUses:626Used by:634 783
Symbol 628 BitmapUsed by:629
Symbol 629 GraphicUses:628Used by:630
Symbol 630 MovieClipUses:629Used by:634 637
Symbol 631 BitmapUsed by:632
Symbol 632 GraphicUses:631Used by:633
Symbol 633 MovieClipUses:632Used by:634 637
Symbol 634 MovieClip {type13}Uses:627 630 633 353Used by:728
Symbol 635 GraphicUsed by:636
Symbol 636 MovieClipUses:635Used by:637 783
Symbol 637 MovieClip {type12}Uses:636 630 633 353Used by:728
Symbol 638 GraphicUsed by:639
Symbol 639 MovieClipUses:638Used by:646 783
Symbol 640 BitmapUsed by:641
Symbol 641 GraphicUses:640Used by:642
Symbol 642 MovieClipUses:641Used by:646
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:645
Symbol 645 MovieClipUses:644Used by:646
Symbol 646 MovieClip {type11}Uses:639 642 645 353Used by:728
Symbol 647 GraphicUsed by:648
Symbol 648 MovieClipUses:647Used by:655 783
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:651
Symbol 651 MovieClipUses:650Used by:655
Symbol 652 BitmapUsed by:653
Symbol 653 GraphicUses:652Used by:654
Symbol 654 MovieClipUses:653Used by:655
Symbol 655 MovieClip {type9}Uses:648 651 654 353Used by:728
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClipUses:656Used by:664 783
Symbol 658 BitmapUsed by:659
Symbol 659 GraphicUses:658Used by:660
Symbol 660 MovieClipUses:659Used by:664
Symbol 661 BitmapUsed by:662
Symbol 662 GraphicUses:661Used by:663
Symbol 663 MovieClipUses:662Used by:664
Symbol 664 MovieClip {type8}Uses:657 660 663 353Used by:728
Symbol 665 GraphicUsed by:666
Symbol 666 MovieClipUses:665Used by:673 783
Symbol 667 BitmapUsed by:668
Symbol 668 GraphicUses:667Used by:669
Symbol 669 MovieClipUses:668Used by:673
Symbol 670 BitmapUsed by:671
Symbol 671 GraphicUses:670Used by:672
Symbol 672 MovieClipUses:671Used by:673
Symbol 673 MovieClip {type7}Uses:666 669 672 353Used by:728
Symbol 674 GraphicUsed by:675
Symbol 675 MovieClipUses:674Used by:682 783
Symbol 676 BitmapUsed by:677
Symbol 677 GraphicUses:676Used by:678
Symbol 678 MovieClipUses:677Used by:682
Symbol 679 BitmapUsed by:680
Symbol 680 GraphicUses:679Used by:681
Symbol 681 MovieClipUses:680Used by:682
Symbol 682 MovieClip {type6}Uses:675 678 681 353Used by:728
Symbol 683 GraphicUsed by:684
Symbol 684 MovieClipUses:683Used by:691 783
Symbol 685 BitmapUsed by:686
Symbol 686 GraphicUses:685Used by:687
Symbol 687 MovieClipUses:686Used by:691
Symbol 688 BitmapUsed by:689
Symbol 689 GraphicUses:688Used by:690
Symbol 690 MovieClipUses:689Used by:691
Symbol 691 MovieClip {type5}Uses:684 687 690 353Used by:728
Symbol 692 GraphicUsed by:693
Symbol 693 MovieClipUses:692Used by:700 783
Symbol 694 BitmapUsed by:695
Symbol 695 GraphicUses:694Used by:696
Symbol 696 MovieClipUses:695Used by:700
Symbol 697 BitmapUsed by:698
Symbol 698 GraphicUses:697Used by:699
Symbol 699 MovieClipUses:698Used by:700
Symbol 700 MovieClip {type4}Uses:693 696 699 353Used by:728
Symbol 701 GraphicUsed by:702
Symbol 702 MovieClipUses:701Used by:709 783
Symbol 703 BitmapUsed by:704
Symbol 704 GraphicUses:703Used by:705
Symbol 705 MovieClipUses:704Used by:709
Symbol 706 BitmapUsed by:707
Symbol 707 GraphicUses:706Used by:708
Symbol 708 MovieClipUses:707Used by:709
Symbol 709 MovieClip {type3}Uses:702 705 708 353Used by:728
Symbol 710 GraphicUsed by:711
Symbol 711 MovieClipUses:710Used by:718 783
Symbol 712 BitmapUsed by:713
Symbol 713 GraphicUses:712Used by:714
Symbol 714 MovieClipUses:713Used by:718
Symbol 715 BitmapUsed by:716
Symbol 716 GraphicUses:715Used by:717
Symbol 717 MovieClipUses:716Used by:718
Symbol 718 MovieClip {type2}Uses:711 714 717 353Used by:728
Symbol 719 GraphicUsed by:720
Symbol 720 MovieClipUses:719Used by:727 783
Symbol 721 BitmapUsed by:722
Symbol 722 GraphicUses:721Used by:723
Symbol 723 MovieClipUses:722Used by:727
Symbol 724 BitmapUsed by:725
Symbol 725 GraphicUses:724Used by:726
Symbol 726 MovieClipUses:725Used by:727
Symbol 727 MovieClip {type1}Uses:720 723 726 353Used by:728
Symbol 728 MovieClipUses:496 505 514 523 532 541 380 550 559 568 574 583 592 601 610 613 622 625 634 637 646 354 655 664 673 682 691 700 709 718 727Used by:942
Symbol 729 MovieClipUses:463 1 466Used by:745
Symbol 730 ShapeTweeningUsed by:733
Symbol 731 ShapeTweeningUsed by:733
Symbol 732 GraphicUsed by:733
Symbol 733 MovieClip {top_figures_2_2_fla.cirkle_line_263}Uses:730 731 732Used by:745
Symbol 734 GraphicUsed by:735
Symbol 735 MovieClipUses:734Used by:745
Symbol 736 GraphicUsed by:738
Symbol 737 GraphicUsed by:738
Symbol 738 MovieClip {top_figures_2_2_fla.delete_btn_265}Uses:364 736 737Used by:745
Symbol 739 GraphicUsed by:744
Symbol 740 GraphicUsed by:744
Symbol 741 GraphicUsed by:742 744
Symbol 742 MovieClipUses:741Used by:744
Symbol 743 GraphicUsed by:744
Symbol 744 ButtonUses:364 739 740 742 743 741Used by:745
Symbol 745 MovieClip {com.gamezhero.game.GravityArrow}Uses:729 733 735 738 744 396Used by:942
Symbol 746 GraphicUses:416Used by:766
Symbol 747 GraphicUsed by:750
Symbol 748 TextUses:292Used by:750
Symbol 749 GraphicUsed by:750
Symbol 750 ButtonUses:747 748 749Used by:766
Symbol 751 GraphicUsed by:754 782 817
Symbol 752 TextUses:292Used by:754
Symbol 753 GraphicUsed by:754 782 817
Symbol 754 ButtonUses:751 752 753Used by:766
Symbol 755 GraphicUsed by:766
Symbol 756 TextUses:292Used by:766
Symbol 757 TextUses:292Used by:766
Symbol 758 TextUses:292Used by:766
Symbol 759 EditableTextUses:41Used by:766
Symbol 760 EditableTextUses:41Used by:766
Symbol 761 EditableTextUses:41Used by:766
Symbol 762 EditableTextUses:41Used by:766
Symbol 763 EditableTextUses:41Used by:766
Symbol 764 GraphicUsed by:765
Symbol 765 MovieClipUses:764Used by:766 783 792 800 821
Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269}Uses:746 750 754 755 756 757 758 759 760 761 762 763 765Used by:767
Symbol 767 MovieClip {com.gamezhero.game.PublishPanel}Uses:766Used by:942
Symbol 768 GraphicUses:416Used by:769
Symbol 769 MovieClipUses:768Used by:778
Symbol 770 GraphicUsed by:778
Symbol 771 GraphicUsed by:772
Symbol 772 MovieClipUses:771Used by:778
Symbol 773 EditableTextUses:194Used by:778
Symbol 774 GraphicUsed by:777
Symbol 775 GraphicUses:280Used by:776
Symbol 776 MovieClipUses:775Used by:777
Symbol 777 MovieClip {top_figures_2_2_fla.star_277}Uses:774 776Used by:778
Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274}Uses:769 770 772 773 777Used by:779
Symbol 779 MovieClip {com.gamezhero.game.RatePanel}Uses:778Used by:942
Symbol 780 GraphicUses:416Used by:783
Symbol 781 TextUses:292Used by:782
Symbol 782 ButtonUses:751 781 753Used by:783 792 800
Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280}Uses:780 720 711 702 693 684 675 666 657 648 344 639 636 627 624 615 612 603 594 585 576 570 561 552 543 534 525 516 507 489 498 373 782 765Used by:822
Symbol 784 GraphicUses:416Used by:792
Symbol 785 GraphicUsed by:788 807
Symbol 786 TextUses:292Used by:788
Symbol 787 GraphicUsed by:788 807
Symbol 788 ButtonUses:785 786 787Used by:792 821
Symbol 789 TextUses:292Used by:792
Symbol 790 GraphicUsed by:792 800
Symbol 791 EditableTextUses:41Used by:792
Symbol 792 MovieClip {top_figures_2_2_fla.editor_load_282}Uses:784 788 782 789 790 791 765Used by:822
Symbol 793 GraphicUses:416Used by:800
Symbol 794 GraphicUsed by:797
Symbol 795 TextUses:292Used by:797
Symbol 796 GraphicUsed by:797
Symbol 797 ButtonUses:794 795 796Used by:800
Symbol 798 TextUses:292Used by:800
Symbol 799 EditableTextUses:41Used by:800
Symbol 800 MovieClip {top_figures_2_2_fla.editor_save_284}Uses:793 797 782 790 798 799 765Used by:822
Symbol 801 GraphicUses:416Used by:821
Symbol 802 GraphicUsed by:805
Symbol 803 TextUses:292Used by:805
Symbol 804 GraphicUsed by:805
Symbol 805 ButtonUses:802 803 804Used by:821
Symbol 806 TextUses:292Used by:807
Symbol 807 ButtonUses:785 806 787Used by:821
Symbol 808 GraphicUsed by:811
Symbol 809 TextUses:292Used by:811
Symbol 810 GraphicUsed by:811
Symbol 811 ButtonUses:808 809 810Used by:821
Symbol 812 GraphicUsed by:815
Symbol 813 GraphicUsed by:815
Symbol 814 GraphicUsed by:815
Symbol 815 ButtonUses:812 813 814Used by:821
Symbol 816 TextUses:292Used by:817
Symbol 817 ButtonUses:751 816 753Used by:821
Symbol 818 GraphicUsed by:820
Symbol 819 GraphicUsed by:820
Symbol 820 MovieClip {top_figures_2_2_fla.Symbol5_292}Uses:818 819Used by:821
Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286}Uses:801 805 788 807 811 815 817 820 765Used by:822
Symbol 822 MovieClip {com.gamezhero.game.EditorPanel}Uses:783 792 800 821Used by:942
Symbol 823 BitmapUsed by:824
Symbol 824 GraphicUses:823Used by:825
Symbol 825 MovieClip {shadow1}Uses:824Used by:942
Symbol 826 BitmapUsed by:827
Symbol 827 GraphicUses:826Used by:828
Symbol 828 MovieClip {shadow2}Uses:827Used by:942
Symbol 829 BitmapUsed by:830
Symbol 830 GraphicUses:829Used by:831
Symbol 831 MovieClip {shadow3}Uses:830Used by:942
Symbol 832 BitmapUsed by:833
Symbol 833 GraphicUses:832Used by:834
Symbol 834 MovieClip {shadow4}Uses:833Used by:942
Symbol 835 BitmapUsed by:836
Symbol 836 GraphicUses:835Used by:837
Symbol 837 MovieClip {shadow5}Uses:836Used by:942
Symbol 838 BitmapUsed by:839
Symbol 839 GraphicUses:838Used by:840
Symbol 840 MovieClip {shadow6}Uses:839Used by:942
Symbol 841 BitmapUsed by:842
Symbol 842 GraphicUses:841Used by:843
Symbol 843 MovieClip {shadow7}Uses:842Used by:942
Symbol 844 BitmapUsed by:845
Symbol 845 GraphicUses:844Used by:846
Symbol 846 MovieClip {shadow8}Uses:845Used by:942
Symbol 847 BitmapUsed by:848
Symbol 848 GraphicUses:847Used by:849
Symbol 849 MovieClip {shadow9}Uses:848Used by:942
Symbol 850 BitmapUsed by:851
Symbol 851 GraphicUses:850Used by:852
Symbol 852 MovieClip {shadow10}Uses:851Used by:942
Symbol 853 BitmapUsed by:854
Symbol 854 GraphicUses:853Used by:855
Symbol 855 MovieClip {shadow11}Uses:854Used by:942
Symbol 856 BitmapUsed by:857
Symbol 857 GraphicUses:856Used by:858
Symbol 858 MovieClip {shadow12}Uses:857Used by:942
Symbol 859 BitmapUsed by:860
Symbol 860 GraphicUses:859Used by:861
Symbol 861 MovieClip {shadow13}Uses:860Used by:942
Symbol 862 BitmapUsed by:863
Symbol 863 GraphicUses:862Used by:864
Symbol 864 MovieClip {shadow14}Uses:863Used by:942
Symbol 865 BitmapUsed by:866
Symbol 866 GraphicUses:865Used by:867
Symbol 867 MovieClip {shadow15}Uses:866Used by:942
Symbol 868 BitmapUsed by:869
Symbol 869 GraphicUses:868Used by:870
Symbol 870 MovieClip {shadow16}Uses:869Used by:942
Symbol 871 BitmapUsed by:872
Symbol 872 GraphicUses:871Used by:873
Symbol 873 MovieClip {shadow17}Uses:872Used by:942
Symbol 874 BitmapUsed by:875
Symbol 875 GraphicUses:874Used by:876
Symbol 876 MovieClip {shadow18}Uses:875Used by:942
Symbol 877 BitmapUsed by:878
Symbol 878 GraphicUses:877Used by:879
Symbol 879 MovieClip {shadow19}Uses:878Used by:942
Symbol 880 BitmapUsed by:881
Symbol 881 GraphicUses:880Used by:882
Symbol 882 MovieClip {shadow20}Uses:881Used by:942
Symbol 883 BitmapUsed by:884
Symbol 884 GraphicUses:883Used by:885
Symbol 885 MovieClip {shadow21}Uses:884Used by:942
Symbol 886 BitmapUsed by:887
Symbol 887 GraphicUses:886Used by:888
Symbol 888 MovieClip {shadow22}Uses:887Used by:942
Symbol 889 BitmapUsed by:890
Symbol 890 GraphicUses:889Used by:891
Symbol 891 MovieClip {shadow23}Uses:890Used by:942
Symbol 892 BitmapUsed by:893
Symbol 893 GraphicUses:892Used by:894
Symbol 894 MovieClip {shadow24}Uses:893Used by:942
Symbol 895 BitmapUsed by:896
Symbol 896 GraphicUses:895Used by:897
Symbol 897 MovieClip {shadow25}Uses:896Used by:942
Symbol 898 BitmapUsed by:899
Symbol 899 GraphicUses:898Used by:900
Symbol 900 MovieClip {shadow26}Uses:899Used by:942
Symbol 901 BitmapUsed by:902
Symbol 902 GraphicUses:901Used by:903
Symbol 903 MovieClip {shadow27}Uses:902Used by:942
Symbol 904 BitmapUsed by:905
Symbol 905 GraphicUses:904Used by:906
Symbol 906 MovieClip {shadow28}Uses:905Used by:942
Symbol 907 BitmapUsed by:908
Symbol 908 GraphicUses:907Used by:909
Symbol 909 MovieClip {shadow29}Uses:908Used by:942
Symbol 910 BitmapUsed by:911
Symbol 911 GraphicUses:910Used by:912
Symbol 912 MovieClip {shadow30}Uses:911Used by:942
Symbol 913 BitmapUsed by:914
Symbol 914 GraphicUses:913Used by:915
Symbol 915 MovieClip {shadow31}Uses:914Used by:942
Symbol 916 BitmapUsed by:917
Symbol 917 GraphicUses:916Used by:918
Symbol 918 MovieClipUses:917Used by:919
Symbol 919 MovieClip {Trees}Uses:918Used by:942
Symbol 920 GraphicUsed by:921
Symbol 921 MovieClipUses:920Used by:922
Symbol 922 MovieClip {SunLight}Uses:921Used by:924 942
Symbol 923 ShapeTweeningUsed by:924
Symbol 924 MovieClip {Compeleted}Uses:922 923 32Used by:942
Symbol 925 MovieClipUsed by:942
Symbol 926 GraphicUsed by:941
Symbol 927 Sound {s_gravity2}Used by:941
Symbol 928 Sound {s_click}Used by:941
Symbol 929 Sound {s_over}Used by:941
Symbol 930 Sound {s_gravity}Used by:941
Symbol 931 Sound {s_complete_level}Used by:941
Symbol 932 Sound {s_begin_level}Used by:941
Symbol 933 Sound {boom5}Used by:941
Symbol 934 Sound {boom4}Used by:941
Symbol 935 Sound {boom3}Used by:941
Symbol 936 Sound {boom2}Used by:941
Symbol 937 Sound {boom1}Used by:941
Symbol 938 Sound {m_menu}Used by:941
Symbol 939 Sound {m_game}Used by:941
Symbol 940 Sound {m_map}Used by:941
Symbol 941 MovieClipUses:926 927 928 929 930 931 932 933 934 935 936 937 938 939 940Used by:942
Symbol 942 MovieClip {com.gamezhero.GameArea}Uses:1 166 279 302 305 330 411 459 461 462 469 487 728 120 745 767 779 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 919 922 924 925 941Used by:Timeline

Instance Names

"begun"Symbol 9 MovieClip {top_figures_2_2_fla.gamezhero_preloaderLine_358} Frame 1Symbol 8 MovieClip
"vr"Symbol 26 MovieClip {preloader_vrachalka} Frame 1Symbol 24 MovieClip
"vr"Symbol 26 MovieClip {preloader_vrachalka} Frame 20Symbol 24 MovieClip
"pr"Symbol 33 MovieClip {top_figures_2_2_fla.gamezhero_gameZheroPreloader_357} Frame 1Symbol 9 MovieClip {top_figures_2_2_fla.gamezhero_preloaderLine_358}
"bg"Symbol 34 MovieClip {com.gamezhero.as3.GamePreloader} Frame 1Symbol 2 MovieClip
"intro"Symbol 34 MovieClip {com.gamezhero.as3.GamePreloader} Frame 1Symbol 33 MovieClip {top_figures_2_2_fla.gamezhero_gameZheroPreloader_357}
"b"Symbol 39 MovieClip {classes.gamezhero.FlashChecker} Frame 1Symbol 36 Button
"vesi"Symbol 120 MovieClip {com.gamezhero.game.Cursor} Frame 1Symbol 118 MovieClip
"begun"Symbol 124 MovieClip {com.gamezhero.gameComponents.BtnSoundControl} Frame 1Symbol 123 MovieClip
"portugeseBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 130 Button
"brazileBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 133 Button
"mexicoBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 136 Button
"russianBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 139 Button
"spanishBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 142 Button
"italicBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 145 Button
"englishBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 148 Button
"germanBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 151 Button
"frenchBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 154 Button
"info_text"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 156 EditableText
"polandBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 159 Button
"australiaBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 162 Button
"ukraineBth"Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage} Frame 1Symbol 165 Button
"viewTopScoreBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 201 Button
"selectorBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 208 Button
"playGameBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 213 Button
"playMoreGamesBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 219 Button
"sendToFriendsBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 227 Button
"editorBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 234 Button
"gamezheroBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 243 Button
"putGameBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 247 Button
"youtubeBtn"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 252 Button
"putThisGameText_mc"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 267 MovieClip {putThisGametext}
"copyright_txt"Symbol 279 MovieClip {com.gamezhero.gamearea.gameFormMainMenu} Frame 1Symbol 277 EditableText
"level"Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72} Frame 1Symbol 287 EditableText
"l0"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"scoreInfo"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 293 EditableText
"l1"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l2"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l3"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l4"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l5"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l6"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l7"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l8"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l9"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l10"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l11"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l12"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l13"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l14"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l15"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l16"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l17"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l18"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l19"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l20"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l21"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l22"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l23"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"l24"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72}
"mainMenuBtn"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 299 Button
"playMoreGamesBtn"Symbol 302 MovieClip {com.gamezhero.gamearea.gameFormMap} Frame 1Symbol 219 Button
"t_time"Symbol 330 MovieClip {classes.gamearea.gameFormRelease} Frame 1Symbol 307 EditableText
"t_time2"Symbol 330 MovieClip {classes.gamearea.gameFormRelease} Frame 1Symbol 309 EditableText
"gamezheroBtn"Symbol 330 MovieClip {classes.gamearea.gameFormRelease} Frame 1Symbol 318 Button
"playGametext_mc"Symbol 330 MovieClip {classes.gamearea.gameFormRelease} Frame 1Symbol 329 MovieClip {playGameText}
"shadow"Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97} Frame 1Symbol 352 MovieClip
"body"Symbol 354 MovieClip {type10} Frame 1Symbol 347 MovieClip
"design"Symbol 354 MovieClip {type10} Frame 1Symbol 350 MovieClip
"shadow"Symbol 354 MovieClip {type10} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"cursor"Symbol 369 MovieClip {top_figures_2_2_fla.help1_91} Frame 1Symbol 358 MovieClip
"cursor"Symbol 369 MovieClip {top_figures_2_2_fla.help1_91} Frame 72Symbol 358 MovieClip
"body"Symbol 380 MovieClip {type25} Frame 1Symbol 376 MovieClip
"design"Symbol 380 MovieClip {type25} Frame 1Symbol 379 MovieClip
"shadow"Symbol 380 MovieClip {type25} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"cursor"Symbol 388 MovieClip {top_figures_2_2_fla.help2_102} Frame 1Symbol 358 MovieClip
"begun"Symbol 396 MovieClip {top_figures_2_2_fla.arrow_3_109} Frame 1Symbol 395 MovieClip
"cursor"Symbol 402 MovieClip {top_figures_2_2_fla.help3_108} Frame 1Symbol 358 MovieClip
"arrow2"Symbol 402 MovieClip {top_figures_2_2_fla.help3_108} Frame 27Symbol 396 MovieClip {top_figures_2_2_fla.arrow_3_109}
"closeBtn"Symbol 410 MovieClip {top_figures_2_2_fla._levelselect0004copy_86} Frame 1Symbol 334 Button
"bg_mc"Symbol 411 MovieClip {com.gamezhero.game.Game} Frame 1Symbol 410 MovieClip {top_figures_2_2_fla._levelselect0004copy_86}
"bg"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 421 MovieClip {top_figures_2_2_fla.bgSelectorItem_115}
"stars"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 426 MovieClip
"title_txt"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 427 EditableText
"author_txt"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 429 EditableText
"data_txt"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 430 EditableText
"amount_txt"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 431 EditableText
"play_btn"Symbol 438 MovieClip {com.gamezhero.game.ItemSelector} Frame 1Symbol 437 Button
"mainMenuBtn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 299 Button
"playMoreGamesBtn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 219 Button
"pages"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 415 EditableText
"m1"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m2"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m3"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m4"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m5"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m6"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m7"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"m8"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 438 MovieClip {com.gamezhero.game.ItemSelector}
"next_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 441 Button
"next2_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 443 Button
"prev_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 441 Button
"prev2_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 443 Button
"recent_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 448 MovieClip {top_figures_2_2_fla.recent_mc_120}
"best_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 450 MovieClip {top_figures_2_2_fla.best_mc_122}
"author_btn"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 452 MovieClip {top_figures_2_2_fla.author_mc_123}
"preloader"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 455 MovieClip {top_figures_2_2_fla.vrashalka_124}
"info"Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore} Frame 1Symbol 456 EditableText
"line"Symbol 468 MovieClip {top_figures_2_2_fla.arrow__128} Frame 1Symbol 467 MovieClip {top_figures_2_2_fla.line_129}
"arrow"Symbol 469 MovieClip {com.gamezhero.game.PowerArrow} Frame 1Symbol 468 MovieClip {top_figures_2_2_fla.arrow__128}
"blick"Symbol 477 MovieClip {top_figures_2_2_fla.gamezhero1_133} Frame 1Symbol 474 MovieClip {top_figures_2_2_fla.z_2_135}
"blick2"Symbol 477 MovieClip {top_figures_2_2_fla.gamezhero1_133} Frame 1Symbol 476 MovieClip {top_figures_2_2_fla.blick_137}
"blick2"Symbol 478 MovieClip {top_figures_2_2_fla.pauseMenu1_138} Frame 1Symbol 476 MovieClip {top_figures_2_2_fla.blick_137}
"blick2"Symbol 479 MovieClip {top_figures_2_2_fla.pauseMenu2_139} Frame 1Symbol 476 MovieClip {top_figures_2_2_fla.blick_137}
"blick2"Symbol 482 MovieClip {top_figures_2_2_fla.soundMenu1_140} Frame 1Symbol 476 MovieClip {top_figures_2_2_fla.blick_137}
"blick2"Symbol 485 MovieClip {top_figures_2_2_fla.musicMenu_143} Frame 1Symbol 476 MovieClip {top_figures_2_2_fla.blick_137}
"gamezheroBtn"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 477 MovieClip {top_figures_2_2_fla.gamezhero1_133}
"exitGameBtn"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 478 MovieClip {top_figures_2_2_fla.pauseMenu1_138}
"playGameBtn"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 479 MovieClip {top_figures_2_2_fla.pauseMenu2_139}
"soundGameBtn"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 482 MovieClip {top_figures_2_2_fla.soundMenu1_140}
"soundControl"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 124 MovieClip {com.gamezhero.gameComponents.BtnSoundControl}
"musicGameBtn"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 485 MovieClip {top_figures_2_2_fla.musicMenu_143}
"musicControl"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 124 MovieClip {com.gamezhero.gameComponents.BtnSoundControl}
"txt"Symbol 487 MovieClip {com.gamezhero.gameForms.PauseMenu} Frame 1Symbol 486 EditableText
"body"Symbol 496 MovieClip {type30} Frame 1Symbol 492 MovieClip
"design"Symbol 496 MovieClip {type30} Frame 1Symbol 495 MovieClip
"shadow"Symbol 496 MovieClip {type30} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 505 MovieClip {type31} Frame 1Symbol 501 MovieClip
"design"Symbol 505 MovieClip {type31} Frame 1Symbol 504 MovieClip
"shadow"Symbol 505 MovieClip {type31} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 514 MovieClip {type29} Frame 1Symbol 510 MovieClip
"design"Symbol 514 MovieClip {type29} Frame 1Symbol 513 MovieClip
"shadow"Symbol 514 MovieClip {type29} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 523 MovieClip {type28} Frame 1Symbol 519 MovieClip
"design"Symbol 523 MovieClip {type28} Frame 1Symbol 522 MovieClip
"shadow"Symbol 523 MovieClip {type28} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 532 MovieClip {type27} Frame 1Symbol 528 MovieClip
"design"Symbol 532 MovieClip {type27} Frame 1Symbol 531 MovieClip
"shadow"Symbol 532 MovieClip {type27} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 541 MovieClip {type26} Frame 1Symbol 537 MovieClip
"design"Symbol 541 MovieClip {type26} Frame 1Symbol 540 MovieClip
"shadow"Symbol 541 MovieClip {type26} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 550 MovieClip {type24} Frame 1Symbol 546 MovieClip
"design"Symbol 550 MovieClip {type24} Frame 1Symbol 549 MovieClip
"shadow"Symbol 550 MovieClip {type24} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 559 MovieClip {type23} Frame 1Symbol 555 MovieClip
"design"Symbol 559 MovieClip {type23} Frame 1Symbol 558 MovieClip
"shadow"Symbol 559 MovieClip {type23} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 568 MovieClip {type22} Frame 1Symbol 564 MovieClip
"design"Symbol 568 MovieClip {type22} Frame 1Symbol 567 MovieClip
"shadow"Symbol 568 MovieClip {type22} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 574 MovieClip {type21} Frame 1Symbol 573 MovieClip
"design"Symbol 574 MovieClip {type21} Frame 1Symbol 567 MovieClip
"shadow"Symbol 574 MovieClip {type21} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 583 MovieClip {type20} Frame 1Symbol 579 MovieClip
"design"Symbol 583 MovieClip {type20} Frame 1Symbol 582 MovieClip
"shadow"Symbol 583 MovieClip {type20} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 592 MovieClip {type19} Frame 1Symbol 588 MovieClip
"design"Symbol 592 MovieClip {type19} Frame 1Symbol 591 MovieClip
"shadow"Symbol 592 MovieClip {type19} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 601 MovieClip {type18} Frame 1Symbol 597 MovieClip
"design"Symbol 601 MovieClip {type18} Frame 1Symbol 600 MovieClip
"shadow"Symbol 601 MovieClip {type18} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 610 MovieClip {type17} Frame 1Symbol 606 MovieClip
"design"Symbol 610 MovieClip {type17} Frame 1Symbol 609 MovieClip
"shadow"Symbol 610 MovieClip {type17} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 613 MovieClip {type16} Frame 1Symbol 606 MovieClip
"design"Symbol 613 MovieClip {type16} Frame 1Symbol 609 MovieClip
"shadow"Symbol 613 MovieClip {type16} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 622 MovieClip {type15} Frame 1Symbol 618 MovieClip
"design"Symbol 622 MovieClip {type15} Frame 1Symbol 621 MovieClip
"shadow"Symbol 622 MovieClip {type15} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 625 MovieClip {type14} Frame 1Symbol 618 MovieClip
"design"Symbol 625 MovieClip {type14} Frame 1Symbol 621 MovieClip
"shadow"Symbol 625 MovieClip {type14} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 634 MovieClip {type13} Frame 1Symbol 630 MovieClip
"design"Symbol 634 MovieClip {type13} Frame 1Symbol 633 MovieClip
"shadow"Symbol 634 MovieClip {type13} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 637 MovieClip {type12} Frame 1Symbol 630 MovieClip
"design"Symbol 637 MovieClip {type12} Frame 1Symbol 633 MovieClip
"shadow"Symbol 637 MovieClip {type12} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 646 MovieClip {type11} Frame 1Symbol 642 MovieClip
"design"Symbol 646 MovieClip {type11} Frame 1Symbol 645 MovieClip
"shadow"Symbol 646 MovieClip {type11} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 655 MovieClip {type9} Frame 1Symbol 651 MovieClip
"design"Symbol 655 MovieClip {type9} Frame 1Symbol 654 MovieClip
"shadow"Symbol 655 MovieClip {type9} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 664 MovieClip {type8} Frame 1Symbol 660 MovieClip
"design"Symbol 664 MovieClip {type8} Frame 1Symbol 663 MovieClip
"shadow"Symbol 664 MovieClip {type8} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 673 MovieClip {type7} Frame 1Symbol 669 MovieClip
"design"Symbol 673 MovieClip {type7} Frame 1Symbol 672 MovieClip
"shadow"Symbol 673 MovieClip {type7} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 682 MovieClip {type6} Frame 1Symbol 678 MovieClip
"design"Symbol 682 MovieClip {type6} Frame 1Symbol 681 MovieClip
"shadow"Symbol 682 MovieClip {type6} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 691 MovieClip {type5} Frame 1Symbol 687 MovieClip
"design"Symbol 691 MovieClip {type5} Frame 1Symbol 690 MovieClip
"shadow"Symbol 691 MovieClip {type5} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 700 MovieClip {type4} Frame 1Symbol 696 MovieClip
"design"Symbol 700 MovieClip {type4} Frame 1Symbol 699 MovieClip
"shadow"Symbol 700 MovieClip {type4} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 709 MovieClip {type3} Frame 1Symbol 705 MovieClip
"design"Symbol 709 MovieClip {type3} Frame 1Symbol 708 MovieClip
"shadow"Symbol 709 MovieClip {type3} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 718 MovieClip {type2} Frame 1Symbol 714 MovieClip
"design"Symbol 718 MovieClip {type2} Frame 1Symbol 717 MovieClip
"shadow"Symbol 718 MovieClip {type2} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"body"Symbol 727 MovieClip {type1} Frame 1Symbol 723 MovieClip
"design"Symbol 727 MovieClip {type1} Frame 1Symbol 726 MovieClip
"shadow"Symbol 727 MovieClip {type1} Frame 1Symbol 353 MovieClip {top_figures_2_2_fla.shadow_top_97}
"arrow"Symbol 745 MovieClip {com.gamezhero.game.GravityArrow} Frame 1Symbol 729 MovieClip
"circle"Symbol 745 MovieClip {com.gamezhero.game.GravityArrow} Frame 1Symbol 733 MovieClip {top_figures_2_2_fla.cirkle_line_263}
"colored"Symbol 745 MovieClip {com.gamezhero.game.GravityArrow} Frame 1Symbol 735 MovieClip
"turner"Symbol 745 MovieClip {com.gamezhero.game.GravityArrow} Frame 1Symbol 738 MovieClip {top_figures_2_2_fla.delete_btn_265}
"deleter"Symbol 745 MovieClip {com.gamezhero.game.GravityArrow} Frame 1Symbol 744 Button
"arrow2"Symbol 745 MovieClip {com.gamezhero.game.GravityArrow} Frame 1Symbol 396 MovieClip {top_figures_2_2_fla.arrow_3_109}
"bublish_btn"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 750 Button
"exit_btn"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 754 Button
"text"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 759 EditableText
"puzzle_title"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 760 EditableText
"user_name"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 761 EditableText
"user_email"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 762 EditableText
"info"Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269} Frame 1Symbol 763 EditableText
"menu"Symbol 767 MovieClip {com.gamezhero.game.PublishPanel} Frame 1Symbol 766 MovieClip {top_figures_2_2_fla.publish_menu_269}
"s1"Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274} Frame 1Symbol 777 MovieClip {top_figures_2_2_fla.star_277}
"s2"Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274} Frame 1Symbol 777 MovieClip {top_figures_2_2_fla.star_277}
"s3"Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274} Frame 1Symbol 777 MovieClip {top_figures_2_2_fla.star_277}
"s4"Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274} Frame 1Symbol 777 MovieClip {top_figures_2_2_fla.star_277}
"s5"Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274} Frame 1Symbol 777 MovieClip {top_figures_2_2_fla.star_277}
"menu"Symbol 779 MovieClip {com.gamezhero.game.RatePanel} Frame 1Symbol 778 MovieClip {top_figures_2_2_fla.reting_menu_274}
"b1"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 720 MovieClip
"b2"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 711 MovieClip
"b3"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 702 MovieClip
"b4"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 693 MovieClip
"b5"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 684 MovieClip
"b6"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 675 MovieClip
"b7"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 666 MovieClip
"b8"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 657 MovieClip
"b9"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 648 MovieClip
"b10"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 344 MovieClip
"b11"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 639 MovieClip
"b12"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 636 MovieClip
"b13"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 627 MovieClip
"b14"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 624 MovieClip
"b15"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 615 MovieClip
"b16"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 612 MovieClip
"b17"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 603 MovieClip
"b18"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 594 MovieClip
"b19"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 585 MovieClip
"b20"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 576 MovieClip
"b21"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 570 MovieClip
"b22"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 561 MovieClip
"b23"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 552 MovieClip
"b24"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 543 MovieClip
"b26"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 534 MovieClip
"b27"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 525 MovieClip
"b28"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 516 MovieClip
"b29"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 507 MovieClip
"b30"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 489 MovieClip
"b31"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 498 MovieClip
"b25"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 373 MovieClip
"close_btn"Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280} Frame 1Symbol 782 Button
"load_btn"Symbol 792 MovieClip {top_figures_2_2_fla.editor_load_282} Frame 1Symbol 788 Button
"close_btn"Symbol 792 MovieClip {top_figures_2_2_fla.editor_load_282} Frame 1Symbol 782 Button
"text"Symbol 792 MovieClip {top_figures_2_2_fla.editor_load_282} Frame 1Symbol 791 EditableText
"copy_btn"Symbol 800 MovieClip {top_figures_2_2_fla.editor_save_284} Frame 1Symbol 797 Button
"close_btn"Symbol 800 MovieClip {top_figures_2_2_fla.editor_save_284} Frame 1Symbol 782 Button
"text"Symbol 800 MovieClip {top_figures_2_2_fla.editor_save_284} Frame 1Symbol 799 EditableText
"add_btn"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 805 Button
"load_btn"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 788 Button
"save_btn"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 807 Button
"test_btn"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 811 Button
"exit_btn"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 815 Button
"clear_btn"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 817 Button
"indicator"Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286} Frame 1Symbol 820 MovieClip {top_figures_2_2_fla.Symbol5_292}
"add_block"Symbol 822 MovieClip {com.gamezhero.game.EditorPanel} Frame 1Symbol 783 MovieClip {top_figures_2_2_fla.editor_gallery_280}
"load_puzzle"Symbol 822 MovieClip {com.gamezhero.game.EditorPanel} Frame 1Symbol 792 MovieClip {top_figures_2_2_fla.editor_load_282}
"save_puzzle"Symbol 822 MovieClip {com.gamezhero.game.EditorPanel} Frame 1Symbol 800 MovieClip {top_figures_2_2_fla.editor_save_284}
"menu"Symbol 822 MovieClip {com.gamezhero.game.EditorPanel} Frame 1Symbol 821 MovieClip {top_figures_2_2_fla.editor_menu_286}
"lang_mc"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 9Symbol 166 MovieClip {com.gamezhero.gamearea.gameFormLanguage}
"game"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 70Symbol 411 MovieClip {com.gamezhero.game.Game}
"editor"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 79Symbol 411 MovieClip {com.gamezhero.game.Game}
"preview"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 87Symbol 411 MovieClip {com.gamezhero.game.Game}
"test"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 96Symbol 411 MovieClip {com.gamezhero.game.Game}
"selector"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 105Symbol 459 MovieClip {com.gamezhero.gamearea.gameFormSelectore}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
Tag 0x0FF (255)Timeline Frame 11 bytes " "

Labels

"stopFrame"Symbol 33 MovieClip {top_figures_2_2_fla.gamezhero_gameZheroPreloader_357} Frame 36
"close"Symbol 73 MovieClip {com.gamezhero.Gate} Frame 1
"open"Symbol 73 MovieClip {com.gamezhero.Gate} Frame 51
"close2"Symbol 73 MovieClip {com.gamezhero.Gate} Frame 90
"ENG"Symbol 267 MovieClip {putThisGametext} Frame 1
"ESP"Symbol 267 MovieClip {putThisGametext} Frame 2
"RUS"Symbol 267 MovieClip {putThisGametext} Frame 3
"PRT"Symbol 267 MovieClip {putThisGametext} Frame 4
"FRA"Symbol 267 MovieClip {putThisGametext} Frame 5
"DEU"Symbol 267 MovieClip {putThisGametext} Frame 6
"UKR"Symbol 267 MovieClip {putThisGametext} Frame 7
"POL"Symbol 267 MovieClip {putThisGametext} Frame 8
"ITA"Symbol 267 MovieClip {putThisGametext} Frame 9
"win"Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72} Frame 1
"lock"Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72} Frame 2
"play"Symbol 291 MovieClip {top_figures_2_2_fla.DoktorZed00347_72} Frame 3
"win"Symbol 305 MovieClip {com.gamezhero.gamearea.gameFormScore} Frame 1
"lost"Symbol 305 MovieClip {com.gamezhero.gamearea.gameFormScore} Frame 2
"ENG"Symbol 329 MovieClip {playGameText} Frame 1
"ESP"Symbol 329 MovieClip {playGameText} Frame 2
"RUS"Symbol 329 MovieClip {playGameText} Frame 3
"PRT"Symbol 329 MovieClip {playGameText} Frame 4
"FRA"Symbol 329 MovieClip {playGameText} Frame 5
"DEU"Symbol 329 MovieClip {playGameText} Frame 6
"UKR"Symbol 329 MovieClip {playGameText} Frame 7
"POL"Symbol 329 MovieClip {playGameText} Frame 8
"ITA"Symbol 329 MovieClip {playGameText} Frame 9
"ENG"Symbol 471 MovieClip {pauseText} Frame 1
"stop"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 1
"language"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 9
"menu"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 17
"intro"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 26
"map"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 35
"score"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 44
"win_intro"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 53
"release"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 62
"game"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 70
"editor"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 79
"preview"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 87
"test"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 96
"selector"Symbol 942 MovieClip {com.gamezhero.GameArea} Frame 105




http://swfchan.com/26/127265/info.shtml
Created: 25/2 -2019 05:01:33 Last modified: 25/2 -2019 05:01:33 Server time: 07/05 -2024 01:53:42