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

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

armorgames zomblast-12826.swf

This is the info page for
Flash #263196

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


Text
<p align="center"><font face="I Want My TTR! Bold" size="10" color="#423426" letterSpacing="0.000000" kerning="1">AAAA!</font></p>

prepare

FAIL

<p align="center"><font face="BadaBoom BB" size="23" color="#613305" letterSpacing="0.000000" kerning="1">bum!</font></p>

<p align="center"><font face="BadaBoom BB" size="23" color="#991111" letterSpacing="0.000000" kerning="1">bum!</font></p>

<p align="center"><font face="BadaBoom BB" size="23" color="#613305" letterSpacing="0.000000" kerning="1">bum!</font></p>

bum

lvl select

restart (R)

STOP CREATING
zombie games
ALREADY!

PLAY

<p align="center"><font face="I Want My TTR! Bold" size="9" color="#3f231d" letterSpacing="0.000000" kerning="1">zombies are </font></p><p align="center"><font face="I Want My TTR! Bold" size="9" color="#3f231d" letterSpacing="0.000000" kerning="1">against this game!</font></p>

<p align="center"><font face="I Want My TTR! Bold" size="23" color="#612214" letterSpacing="0.000000" kerning="1">100%</font></p>

ZOMBLAST

one more zombie game

v 1.07

drag & drop a grenade

Explode the grenade !

Zombie can be killed only
by the silver frag

or just push them in the abyss

use mouse scroll or arrow keys to
rotate the grenade

kill all zombies !

STOP CREATING
zombie games!

Stop
playing this game!

it's racist

cause more damage to get higher score

use the parts of zombie's
body to press this button

stop telling me
what to do!

stop the tyrany
of flash
developers

stop stoping
zompies

barrels also explode with frags

rollover the cursor on the barrel
to see them

Stop reading
this signs!

This could be your
advertisement!

but it will never be
here lol...

Angry zombies!

Stop reading it!
kill zombies
already!

STOP
THIS HUMAN!

serial
zombie -killer

ZOMblast

save zombies!
don't make flash
games!

Lv-1

Lv-2

Lv-3

Lv-4

Lv-5

Lv-6

Lv-7

Lv-8

Lv-9

Lv-10

Lv-11

Lv-12

Lv-13

Lv-14

Lv-15

Lv-16

Lv-17

Lv-18

Lv-19

Lv-20

Lv-21

Lv-22

Lv-23

Lv-24

Lv-25

Lv-26

Lv-27

Lv-28

Lv-29

Lv-30

Lv-31

Lv-32

Lv-33

Lv-34

Lv-35

back

credits

<p align="center"><font face="I Want My TTR! Bold" size="10" color="#423426" letterSpacing="0.000000" kerning="1">AAAA!</font></p>

PLAY

more
games

walk
through

HUMANS ARE COMING FOR YOU!

walkthrough

Scores:

<p align="right"><font face="I Want My TTR!" size="22" color="#ecf0db" letterSpacing="0.000000" kerning="1">99</font></p>

<p align="left"><font face="I Want My TTR!" size="22" color="#ecf0db" letterSpacing="0.000000" kerning="1">99</font></p>

Level:

<p align="left"><font face="I Want My TTR!" size="22" color="#ecf0db" letterSpacing="0.000000" kerning="1">99</font></p>

game is locked

MENU

MENU

ActionScript [AS3]

Section 1
//MouseWheel (ai.MouseWheel) package ai { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.errors.*; public final class MouseWheel { private static const _bytes:ByteArray = new ByteArray(); private static const _connection:LocalConnection = new LocalConnection(); private static const _dataPart0:Array = new Array(1180128009, 671154176, 2013267295, 4000, 7937, 0x441100, 67, 50331647, 1057226240, 34908, 589932, 1660963951, 1667329091, 1869508197, 1668573551, 1845521507); private static const _dataPart1:Array = new Array(6516590, 1852138356, 6513008, 1953854053, 5074805, 1935999073, 1684294761, 1937007982, 1701970034, 1701670774, 1699506547, 1952804453, 1912631150, 1299150195, 1700227173, 1701576854, 218105856, 100663296, 0, 524608, 496371968, 134350593, 8, 1873410, 525138, 395706880, 134225046, 33556484, 2383347712, 16778025, 161377, 1819632896, 939562498, 262674, 2634154009, 0x960900, 67176193, 8, 85759490, 525906, 395903488, 335582729, 262407, 16777216, 134552726, 33556487, 1377259414, 33556488, 2600796160, 0, 496371968, 83953409, 8, 1873410, 525394, 385892352); private static var _loader:Loader; private static var _connectionID:uint; private static var _captured:Boolean = false; private static var _complete:Boolean = false; public function MouseWheel(){ throw (new IllegalOperationError("do not instantiate MouseWheel")); } public static function get captured():Boolean{ return (MouseWheel._captured); } public static function capture():void{ var _local1:uint; var _local2:ByteArray; var _local3:Array; var _local4:uint; var _local5:uint; if (MouseWheel._captured){ return; }; if (!MouseWheel._bytes.length){ _local1 = Math.round((Math.random() * 100000)); while (_local1 < 10000) { _local1 = Math.round((Math.random() * 100000)); }; MouseWheel._connectionID = _local1; _local2 = MouseWheel._bytes; _local3 = MouseWheel._dataPart0; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local2.writeUnsignedInt(_local3[_local5]); _local5++; }; _local2.writeUTFBytes(("_" + MouseWheel._connectionID.toString())); _local3 = MouseWheel._dataPart1; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local2.writeUnsignedInt(_local3[_local5]); _local5++; }; _local2.writeShort(0); }; MouseWheel._connection.addEventListener(StatusEvent.STATUS, MouseWheel.handler_status); MouseWheel._connection.addEventListener(AsyncErrorEvent.ASYNC_ERROR, MouseWheel.handler_asyncError); MouseWheel._captured = true; if (MouseWheel._loader){ MouseWheel.send(); } else { MouseWheel._loader = new Loader(); MouseWheel._loader.loadBytes(MouseWheel._bytes); MouseWheel._loader.contentLoaderInfo.addEventListener(Event.COMPLETE, MouseWheel.handler_complete); }; } public static function release():void{ if (!MouseWheel._captured){ return; }; MouseWheel._captured = false; MouseWheel.send(); } private static function send(_arg1:Event=null):void{ if (!MouseWheel._complete){ return; }; MouseWheel._connection.send(("lc_" + MouseWheel._connectionID), "capture", MouseWheel._captured); } private static function handler_complete(_arg1:Event):void{ MouseWheel._complete = true; if (!MouseWheel._captured){ MouseWheel.send(); }; } private static function handler_status(_arg1:StatusEvent):void{ if (_arg1.level == "error"){ MouseWheel.send(); }; } private static function handler_asyncError(_arg1:AsyncErrorEvent):void{ } } }//package ai
Section 2
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 3
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_localPosition:b2Vec2; public var m_radius:Number; public function b2CircleShape(_arg1:b2ShapeDef){ m_localPosition = new b2Vec2(); super(_arg1); var _local2:b2CircleDef = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local10:Number; var _local6:b2Mat22 = _arg1.R; var _local7:Number = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); var _local8:Number = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); var _local9:Number = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); var _local11:Number = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; var _local12:Number = (_arg4.p2.x - _arg4.p1.x); var _local13:Number = (_arg4.p2.y - _arg4.p1.y); var _local14:Number = ((_local9 * _local12) + (_local10 * _local13)); var _local15:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local16:Number = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; var _local17:Number = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; _local4 = _arg2.R; var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local8:Number = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } public function GetRadius():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number = (m_localPosition.x - _arg1.x); var _local3:Number = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } } }//package Box2D.Collision.Shapes
Section 4
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2FilterData { public var categoryBits:uint;// = 1 public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var b_rigid:int;// = 0 public var m_type:int;// = 0 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; _local1.b_rigid = b_rigid; _local1.m_type = m_type; return (_local1); } } }//package Box2D.Collision.Shapes
Section 5
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package Box2D.Collision.Shapes
Section 6
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertices:Array; public var vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; var _local1:int; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function 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); } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } } }//package Box2D.Collision.Shapes
Section 7
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { private var s_supportVec:b2Vec2; public var m_centroid:b2Vec2; public var m_obb:b2OBB; public var m_vertices:Array; public var m_normals:Array; public var m_coreVertices:Array; public var m_vertexCount:int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local3:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; s_supportVec = new b2Vec2(); m_obb = new b2OBB(); m_vertices = new Array(b2Settings.b2_maxPolygonVertices); m_normals = new Array(b2Settings.b2_maxPolygonVertices); m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; var _local2:b2PolygonDef = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; var _local4:int = _local3; var _local5:int = _local3; _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = (m_vertices[_local5].x - m_vertices[_local4].x); _local7 = (m_vertices[_local5].y - m_vertices[_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(m_obb, m_vertices, m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1); _local5 = _local3; _local9 = m_normals[_local4].x; _local10 = m_normals[_local4].y; _local11 = m_normals[_local5].x; _local12 = m_normals[_local5].y; _local13 = (m_vertices[_local3].x - m_centroid.x); _local14 = (m_vertices[_local3].y - m_centroid.y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local20:Number; var _local21:Number; var _local6:Number = 0; var _local7:Number = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; var _local12:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local13:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; var _local14:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local15:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); var _local18 = -1; var _local19:int; while (_local19 < m_vertexCount) { _local11 = m_vertices[_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = m_normals[_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = m_normals[_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22 = s_computeMat; _local3 = _arg2.R; _local4 = m_obb.R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = m_obb.R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); var _local6:b2Mat22 = _local5; _local4 = m_obb.extents; var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local10:Number = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB = s_sweptAABB1; var _local5:b2AABB = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } override public function ComputeMass(_arg1:b2MassData):void{ var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (1 / 3); var _local9:int; while (_local9 < m_vertexCount) { _local10 = m_vertices[_local9]; _local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function GetOBB():b2OBB{ return (m_obb); } public function GetCentroid():b2Vec2{ return (m_centroid); } public function GetVertexCount():int{ return (m_vertexCount); } public function GetVertices():Array{ return (m_vertices); } public function GetCoreVertices():Array{ return (m_coreVertices); } public function GetNormals():Array{ return (m_normals); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_coreVertices[0])); } public function Centroid(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_centroid)); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local11:Number; _local5 = _arg1.R; var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); var _local8:int; _local4 = m_coreVertices[0]; var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7)); var _local10 = 1; while (_local10 < m_vertexCount) { _local4 = m_coreVertices[_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = m_coreVertices[_local8]; s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (s_supportVec); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local4:Number; var _local5:Number; m_sweepRadius = 0; var _local3:int; while (_local3 < m_vertexCount) { _local2 = m_coreVertices[_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local7:Number; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 8
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Shape { public var m_type:int; public var m_next:b2Shape; public var m_body:b2Body; public var m_sweepRadius:Number; public var m_density:Number; public var m_friction:Number; public var m_restitution:Number; public var m_proxyId:uint; public var m_filter:b2FilterData; public var m_isSensor:Boolean; public var m_userData; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_polygonShape:int = 1; public static const e_shapeTypeCount:int = 2; private static var s_proxyAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_resetAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; m_proxyId = b2Pair.b2_nullProxy; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function GetType():int{ return (m_type); } public function IsSensor():Boolean{ return (m_isSensor); } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function GetBody():b2Body{ return (m_body); } public function GetNext():b2Shape{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function ComputeMass(_arg1:b2MassData):void{ } public function GetSweepRadius():Number{ return (m_sweepRadius); } public function GetFriction():Number{ return (m_friction); } public function GetRestitution():Number{ return (m_restitution); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB = s_proxyAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (m_proxyId != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(m_proxyId); m_proxyId = b2Pair.b2_nullProxy; }; } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; var _local4:b2AABB = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(m_proxyId, _local4); return (true); }; return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); var _local3:b2AABB = s_resetAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):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); }; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } } }//package Box2D.Collision.Shapes
Section 9
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2ShapeDef { public var type:int;// = -1 public var userData;// = null public var friction:Number;// = 0.2 public var restitution:Number;// = 0 public var density:Number;// = 0 public var isSensor:Boolean;// = false public var filter:b2FilterData; public function b2ShapeDef(){ filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 10
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var lowerBound:b2Vec2; public var upperBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 11
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var value:uint; public var proxyId:uint; public var stabbingCount:uint; public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } public function Swap(_arg1:b2Bound):void{ var _local2:uint = value; var _local3:uint = proxyId; var _local4:uint = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } } }//package Box2D.Collision
Section 12
//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 13
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_pairManager:b2PairManager; public var m_proxyPool:Array; public var m_freeProxy:uint; public var m_bounds:Array; public var m_queryResults:Array; public var m_queryResultCount:int; public var m_worldAABB:b2AABB; public var m_quantizationFactor:b2Vec2; public var m_proxyCount:int; public var m_timeStamp:uint; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); m_queryResults = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { m_queryResults[_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; var _local4:Number = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; m_freeProxy = 0; m_timeStamp = 1; m_queryResultCount = 0; } public function 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 GetProxy(_arg1:int):b2Proxy{ var _local2:b2Proxy = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; var _local5:uint = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; var _local6:uint = (2 * m_proxyCount); var _local7:Array = new Array(); var _local8:Array = new Array(); ComputeBounds(_local7, _local8, _arg1); var _local9:int; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; var _local10:int; while (_local10 < m_queryResultCount) { m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]); _local10++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; var _local4:b2Proxy = m_proxyPool[_arg1]; var _local5:int = (2 * m_proxyCount); var _local6:int; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; var _local7:int; while (_local7 < m_queryResultCount) { m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]); _local7++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(m_freeProxy); m_freeProxy = _arg1; m_proxyCount--; } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; var _local12:uint = (2 * m_proxyCount); var _local13:b2Proxy = m_proxyPool[_arg1]; var _local14:b2BoundValues = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); var _local15:b2BoundValues = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if (TestOverlap(_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if (TestOverlap(_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if (TestOverlap(_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if (TestOverlap(_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public function Commit():void{ m_pairManager.Commit(); } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local6:uint; var _local7:uint; var _local12:b2Proxy; var _local4:Array = new Array(); var _local5:Array = new Array(); ComputeBounds(_local4, _local5, _arg1); var _local8:Array = [_local6]; var _local9:Array = [_local7]; Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); var _local10:int; var _local11:int; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[m_queryResults[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; IncrementTimeStamp(); return (_local10); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local5:int; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number = _arg3.lowerBound.x; var _local5:Number = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); var _local6:Number = _arg3.upperBound.x; var _local7:Number = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local10:b2Bound; var _local12:int; var _local13:int; var _local14:b2Proxy; var _local8:uint = BinarySearch(_arg5, _arg6, _arg3); var _local9:uint = BinarySearch(_arg5, _arg6, _arg4); var _local11:uint = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ IncrementOverlapCount(_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ IncrementOverlapCount(_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function IncrementOverlapCount(_arg1:uint):void{ var _local2:b2Proxy = m_proxyPool[_arg1]; if (_local2.timeStamp < m_timeStamp){ _local2.timeStamp = m_timeStamp; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; m_queryResults[m_queryResultCount] = _arg1; m_queryResultCount++; }; } private function IncrementTimeStamp():void{ var _local1:uint; if (m_timeStamp == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; m_timeStamp = 1; } else { m_timeStamp++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local6:int; var _local7:b2Bound; var _local4:int; var _local5:int = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 14
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 15
//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 ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); var _local10:Number = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local11:b2Mat22; var _local12:b2Vec2; var _local25:Number; var _local6:int = _arg1.m_vertexCount; var _local7:Array = _arg1.m_vertices; var _local8:Array = _arg1.m_normals; var _local9:int = _arg4.m_vertexCount; var _local10:Array = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); var _local24:Number = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local17:int; var _local18:uint; var _local34:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; var _local7:int; var _local8:Array = [_local7]; var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; var _local10:int; var _local11:Array = [_local10]; var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; var _local15:b2XForm = new b2XForm(); var _local16:b2XForm = new b2XForm(); var _local19:Number = 0.98; var _local20:Number = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; var _local21:Array = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); var _local22:int = _local13.m_vertexCount; var _local23:Array = _local13.m_vertices; var _local24:b2Vec2 = _local23[_local17]; var _local25:b2Vec2 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25); var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); var _local29:Number = b2Math.b2Dot(_local28, _local25); var _local30:Number = -(b2Math.b2Dot(_local27, _local25)); var _local31:Number = b2Math.b2Dot(_local27, _local37); var _local32:Array = [new ClipVertex(), new ClipVertex()]; var _local33:Array = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); var _local35:int; var _local36:int; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id.features.flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local18:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = _arg2.m_radius; var _local16:Number = _arg4.m_radius; var _local17:Number = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; var _local19:b2ManifoldPoint = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); var _local20:Number = (0.5 * (_local8 + _local10)); var _local21:Number = (0.5 * (_local9 + _local11)); var _local22:Number = (_local20 - _arg3.position.x); var _local23:Number = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local17:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = _arg4.m_radius; var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; var _local27:b2Vec2 = _local22[_local26]; var _local28:Number = (_local27.x - _local11.x); var _local29:Number = (_local27.y - _local11.y); var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); var _local31:Number = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = 0; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } } }//package Box2D.Collision
Section 16
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var features:Features; public var _key:uint; public function b2ContactID(){ features = new Features(); super(); features._m_id = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; features._referenceEdge = (_key & 0xFF); features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF); features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF); features._flip = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 17
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var velocity:b2Vec2; public var normal:b2Vec2; public var separation:Number; public var friction:Number; public var restitution:Number; public var id:b2ContactID; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 18
//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_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p2s: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 ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local17:Number; var _local6:b2Vec2 = _arg5[0]; var _local7:b2Vec2 = _arg5[1]; var _local8:b2Vec2 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; var _local12:Number = -(_local7.x); var _local13:Number = -(_local7.y); var _local14:Number = (_local6.x - _local7.x); var _local15:Number = (_local6.y - _local7.y); var _local16:Number = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local35:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; var _local14:b2Vec2 = _arg4[2]; var _local15:Number = _local6.x; var _local16:Number = _local6.y; var _local17:Number = _local7.x; var _local18:Number = _local7.y; var _local19:Number = _local8.x; var _local20:Number = _local8.y; var _local21:Number = (_local17 - _local15); var _local22:Number = (_local18 - _local16); var _local23:Number = (_local19 - _local15); var _local24:Number = (_local20 - _local16); var _local25:Number = (_local19 - _local17); var _local26:Number = (_local20 - _local18); var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22))); var _local28:Number = ((_local17 * _local21) + (_local18 * _local22)); var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24))); var _local30:Number = ((_local19 * _local23) + (_local20 * _local24)); var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26))); var _local32:Number = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; var _local33:Number = ((_local21 * _local24) - (_local22 * _local23)); var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); var _local36:Number = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; var _local37:Number = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; var _local38:Number = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); var _local39:Number = (_local36 * _local38); var _local40:Number = (_local37 * _local38); var _local41:Number = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local4:Number = (100 * Number.MIN_VALUE); var _local5:int; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; var _local8:Array = s_p1s; var _local9:Array = s_p2s; var _local10:Array = s_points; var _local11:int; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); var _local12:Number = 0; var _local13 = 20; var _local14:int; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:Number = ((_local13 * _local13) + (_local14 * _local14)); var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop); var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); var _local18:Number = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local9:b2Point = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); var _local11:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int = _arg3.m_type; var _local8:int = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } } }//package Box2D.Collision
Section 19
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var normal:b2Vec2; public var pointCount:int;// = 0 public function b2Manifold(){ points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Reset():void{ var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } public function Set(_arg1:b2Manifold):void{ pointCount = _arg1.pointCount; var _local2:int; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } } }//package Box2D.Collision
Section 20
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var localPoint1:b2Vec2; public var localPoint2:b2Vec2; public var separation:Number; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } 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; } } }//package Box2D.Collision
Section 21
//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 22
//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 next:uint; public var status:uint; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairBuffered:uint = 1; public static var e_pairRemoved:uint = 2; public static var e_pairFinal:uint = 4; public function SetBuffered():void{ status = (status | e_pairBuffered); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } } }//package Box2D.Collision
Section 23
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairAdded(_arg1, _arg2){ return (null); } public function PairRemoved(_arg1, _arg2, _arg3):void{ } } }//package Box2D.Collision
Section 24
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_broadPhase:b2BroadPhase; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_freePair:uint; public var m_pairCount:int; public var m_pairBuffer:Array; public var m_pairBufferCount:int; public var m_hashTable:Array; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; m_pairBuffer = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairBuffer[_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; m_pairBufferCount = 0; } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; m_callback = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = AddPair(_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = Find(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; var _local3:int; var _local4:Array = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < m_pairBufferCount) { _local1 = m_pairBuffer[_local2]; _local5 = Find(_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = m_pairBuffer[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = m_pairBuffer[_local2]; RemovePair(_local1.proxyId1, _local1.proxyId2); _local2++; }; m_pairBufferCount = 0; if (b2BroadPhase.s_validate){ ValidateTable(); }; } private function AddPair(_arg1:uint, _arg2:uint):b2Pair{ var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; var _local5:uint = m_freePair; _local4 = m_pairs[_local5]; m_freePair = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function RemovePair(_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local5:uint = m_hashTable[_local4]; var _local6:b2Pair; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = m_freePair; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; m_freePair = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } private function Find(_arg1:uint, _arg2:uint):b2Pair{ var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return (FindHash(_arg1, _arg2, _local3)); } private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function ValidateBuffer():void{ } private function ValidateTable():void{ } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } } }//package Box2D.Collision
Section 25
//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 Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 26
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var lowerBounds:Array; public var upperBounds:Array; public var overlapCount:uint; public var timeStamp:uint; public var userData;// = null public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } } }//package Box2D.Collision
Section 27
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local5:b2Vec2 = _arg3.p1; var _local6:Number = (_arg3.p2.x - _local5.x); var _local7:Number = (_arg3.p2.y - _local5.y); var _local8:Number = (p2.x - p1.x); var _local9:Number = (p2.y - p1.y); var _local10:Number = _local9; var _local11:Number = -(_local8); var _local12:Number = (100 * Number.MIN_VALUE); var _local13:Number = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local7) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 28
//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_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local7:Number = _arg1.m_sweepRadius; var _local8:Number = _arg3.m_sweepRadius; var _local9:Number = _arg2.t0; var _local10:Number = (_arg2.c.x - _arg2.c0.x); var _local11:Number = (_arg2.c.y - _arg2.c0.y); var _local12:Number = (_arg4.c.x - _arg4.c0.x); var _local13:Number = (_arg4.c.y - _arg4.c0.y); var _local14:Number = (_arg2.a - _arg2.a0); var _local15:Number = (_arg4.a - _arg4.a0); var _local16:Number = 0; var _local17:b2Vec2 = s_p1; var _local18:b2Vec2 = s_p2; var _local19 = 20; var _local20:int; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; var _local24:Number = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 29
//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 30
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var _referenceEdge:int; public var _incidentEdge:int; public var _incidentVertex:int; public var _flip:int; public var _m_id:b2ContactID; public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function get referenceEdge():int{ return (_referenceEdge); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } public function get incidentEdge():int{ return (_incidentEdge); } public function set incidentVertex(_arg1:int):void{ _incidentVertex = _arg1; _m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function get flip():int{ return (_flip); } } }//package Box2D.Collision
Section 31
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { import Box2D.Common.*; public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function Set(_arg1:Number):void{ var _local2:Number; _local2 = Math.cos(_arg1); var _local3:Number = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local4:Number; var _local6:Number; _local2 = col1.x; var _local3:Number = col2.x; _local4 = col1.y; var _local5:Number = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local6:Number; var _local4:Number = col1.x; var _local5:Number = col2.x; _local6 = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } public function Abs():void{ col1.Abs(); col2.Abs(); } } }//package Box2D.Common.Math
Section 32
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static const b2Mat22_identity:b2Mat22 = 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 function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function 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 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 AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); 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 b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } } }//package Box2D.Common.Math
Section 33
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { import Box2D.Common.*; public class b2Sweep { public var localCenter:b2Vec2; public var c0:b2Vec2; public var c:b2Vec2; public var a0:Number; public var a:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; var _local3:b2Mat22 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } } }//package Box2D.Common.Math
Section 34
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { import Box2D.Common.*; public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetZero():void{ x = 0; y = 0; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function MulM(_arg1:b2Mat22):void{ var _local2:Number = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function Normalize():Number{ var _local1:Number = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; var _local2:Number = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function Rotate(_arg1){ var _local2:* = x; var _local3:* = y; x = ((_local2 * Math.cos(_arg1)) - (_local3 * Math.sin(_arg1))); y = ((_local2 * Math.sin(_arg1)) + (_local3 * Math.cos(_arg1))); } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 35
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { import Box2D.Common.*; public class b2XForm { public var position:b2Vec2; public var R:b2Mat22; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } } }//package Box2D.Common.Math
Section 36
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function get color():uint{ return (((_r | (_g << 8)) | (_b << 16))); } } }//package Box2D.Common
Section 37
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const USHRT_MAX:int = 0xFFFF; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxPolygonVertices:int = 8; public static const b2_maxProxies:int = 0x0200; public static const b2_maxPairs:int = 4096; public static const b2_linearSlop:Number = 0.005; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_toiSlop:Number = 0.04; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_velocityThreshold:Number = 1; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearVelocitySquared:Number = 40000; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_timeToSleep:Number = 0.5; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 38
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local8:b2ManifoldPoint; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); var _local7:b2ContactPoint = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = m0.points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 39
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Contact { public var m_flags:uint; public var m_prev:b2Contact; public var m_next:b2Contact; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_manifoldCount:int; public var m_friction:Number; public var m_restitution:Number; public var m_toi:Number; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var e_toiFlag:uint = 8; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function GetManifolds():Array{ return (null); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetShape1():b2Shape{ return (m_shape1); } public function GetShape2():b2Shape{ return (m_shape2); } public function Update(_arg1:b2ContactListener):void{ var _local2:int = m_manifoldCount; Evaluate(_arg1); var _local3:int = m_manifoldCount; var _local4:b2Body = m_shape1.m_body; var _local5:b2Body = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function 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 InitializeRegisters():void{ var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; var _local4:int = _arg1.m_type; var _local5:int = _arg2.m_type; var _local6:b2ContactRegister = s_registers[_local4][_local5]; var _local7:Function = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } public static function Destroy(_arg1:b2Contact, _arg2):void{ if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; var _local3:int = _arg1.m_shape1.m_type; var _local4:int = _arg1.m_shape2.m_type; var _local5:b2ContactRegister = s_registers[_local3][_local4]; var _local6:Function = _local5.destroyFcn; _local6(_arg1, _arg2); } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var normal:b2Vec2; public var manifold:b2Manifold; public var body1:b2Body; public var body2:b2Body; public var friction:Number; public var restitution:Number; public var pointCount:int; public function b2ContactConstraint(){ normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var r1:b2Vec2; public var r2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var positionImpulse:Number; public var normalMass:Number; public var tangentMass:Number; public var equalizedMass:Number; public var separation:Number; public var velocityBias:Number; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; public var next:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var createFcn:Function; public var destroyFcn:Function; public var primary:Boolean; } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactResult { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var normal:b2Vec2; 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 45
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactSolver { public var m_step:b2TimeStep; public var m_allocator; public var m_constraints:Array; public var m_constraintCount:int; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; m_step = new b2TimeStep(); m_constraints = new Array(); super(); m_step.dt = _arg1.dt; m_step.inv_dt = _arg1.inv_dt; m_step.maxIterations = _arg1.maxIterations; m_allocator = _arg4; m_constraintCount = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; m_constraintCount = (m_constraintCount + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < m_constraintCount) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; var _local9:int; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; var _local19:int; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local3:b2Mat22; var _local4:b2Vec2; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local2:Number = 0; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } } }//package Box2D.Dynamics.Contacts
Section 46
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function Evaluate(_arg1:b2ContactListener):void{ } override public function GetManifolds():Array{ return (null); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local6:b2Body = m_shape1.m_body; var _local7:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); var _local8:Array = [false, false]; var _local9:b2ContactPoint = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local8[_local13] == true){ } else { _local5 = m0.points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < m0.pointCount) { if (_local8[_local2]){ } else { _local5 = m0.points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 48
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolygonContact extends b2Contact { private var m0:b2Manifold; private var m_manifolds:Array; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new b2Manifold(); m_manifolds = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local7:b2ContactPoint; var _local8:int; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); var _local9:Array = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local9[_local13] == true){ } else { _local4 = m0.points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < m0.pointCount) { if (_local9[_local8]){ } else { _local4 = m0.points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 49
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_u:b2Vec2; public var m_frequencyHz:Number; public var m_dampingRatio:Number; public var m_gamma:Number; public var m_bias:Number; public var m_impulse:Number; public var m_mass:Number; public var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; m_inv_dt = 0; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); var _local10:Number = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local1 = _local2.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); var _local12:Number = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local13:Number = (-(m_mass) * _local12); m_u.Set(_local9, _local10); var _local14:Number = (_local13 * m_u.x); var _local15:Number = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function 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 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function GetReactionTorque():Number{ return (0); } } }//package Box2D.Dynamics.Joints
Section 50
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var length:Number; public var frequencyHz:Number; public var dampingRatio:Number; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 51
//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_ground1:b2Body; public var m_ground2:b2Body; public var m_revolute1:b2RevoluteJoint; public var m_prismatic1:b2PrismaticJoint; public var m_revolute2:b2RevoluteJoint; public var m_prismatic2:b2PrismaticJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_J:b2Jacobian; public var m_constant:Number; public var m_ratio:Number; public var m_mass:Number; public var m_force:Number; public function b2GearJoint(_arg1:b2GearJointDef){ var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); var _local2:int = _arg1.joint1.m_type; var _local3:int = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.m_body1; m_body1 = _arg1.joint1.m_body2; if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.m_body1; m_body2 = _arg1.joint2.m_body2; if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function GetReactionTorque():Number{ var _local1:b2Mat22 = m_body2.m_xf.R; var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); var _local4:Number = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local15:Number; var _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; var _local4:b2Body = m_body1; var _local5:b2Body = m_body2; var _local14:Number = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear1.Set(-(_local6), -(_local7)); m_J.angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); var _local6:Number = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2)); } override public function SolvePositionConstraints():Boolean{ var _local4:Number; var _local5:Number; var _local1:Number = 0; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; if (m_revolute1){ _local4 = m_revolute1.GetJointAngle(); } else { _local4 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local5 = m_revolute2.GetJointAngle(); } else { _local5 = m_prismatic2.GetJointTranslation(); }; var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5))); var _local7:Number = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 52
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2GearJointDef extends b2JointDef { public var joint1:b2Joint; public var joint2:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 53
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var angular1:Number; public var linear2:b2Vec2; public var angular2:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } 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 54
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Joint { public var m_type:int; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_body1:b2Body; public var m_body2:b2Body; public var m_inv_dt:Number; public var m_islandFlag:Boolean; public var m_collideConnected:Boolean; public var m_userData; public static const e_unknownJoint:int = 0; public static const e_revoluteJoint:int = 1; public static const e_prismaticJoint:int = 2; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_mouseJoint:int = 5; public static const e_gearJoint:int = 6; public static const e_inactiveLimit:int = 0; public static const e_atLowerLimit:int = 1; public static const e_atUpperLimit:int = 2; public static const e_equalLimits:int = 3; 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 GetType():int{ return (m_type); } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function GetReactionForce():b2Vec2{ return (null); } public function GetReactionTorque():Number{ return (0); } public function GetBody1():b2Body{ return (m_body1); } public function GetBody2():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public function SolvePositionConstraints():Boolean{ return (false); } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } public static function Destroy(_arg1:b2Joint, _arg2):void{ } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2JointDef { public var type:int; public var userData; public var body1:b2Body; public var body2:b2Body; public var collideConnected:Boolean; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 56
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var joint:b2Joint; public var prev:b2JointEdge; public var next:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; public var m_localAnchor:b2Vec2; public var m_target:b2Vec2; public var m_impulse:b2Vec2; public var m_mass:b2Mat22; public var m_C:b2Vec2; public var m_maxForce:Number; public var m_beta:Number; public var m_gamma:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local3:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); var _local2:Number = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); var _local4:b2Mat22 = m_body2.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); var _local5:Number = m_body2.m_mass; var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6); var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; K1.col1.x = _local7; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local7; K2.col1.x = ((_local8 * _local5) * _local5); K2.col2.x = ((-(_local8) * _local4) * _local5); K2.col1.y = ((-(_local8) * _local4) * _local5); K2.col2.y = ((_local8 * _local4) * _local4); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); var _local9:Number = (_arg1.dt * m_impulse.x); var _local10:Number = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_body2; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); var _local15:Number = (_arg1.dt * _local10); var _local16:Number = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } override public function SolvePositionConstraints():Boolean{ return (true); } } }//package Box2D.Dynamics.Joints
Section 58
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var target:b2Vec2; public var maxForce:Number; public var frequencyHz:Number; public var dampingRatio:Number; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 59
//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_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_localXAxis1:b2Vec2; public var m_localYAxis1:b2Vec2; public var m_refAngle:Number; public var m_linearJacobian:b2Jacobian; public var m_linearMass:Number; public var m_force:Number; public var m_angularMass:Number; public var m_torque:Number; public var m_motorJacobian:b2Jacobian; public var m_motorMass:Number; public var m_motorForce:Number; public var m_limitForce:Number; public var m_limitPositionImpulse:Number; public var m_lowerTranslation:Number; public var m_upperTranslation:Number; public var m_maxMotorForce:Number; public var m_motorSpeed:Number; public var m_enableLimit:Boolean; public var m_enableMotor:Boolean; public var m_limitState:int; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_linearJacobian = new b2Jacobian(); m_motorJacobian = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.localAxis1); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_linearJacobian.SetZero(); m_linearMass = 0; m_force = 0; m_angularMass = 0; m_torque = 0; m_motorJacobian.SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22 = m_body1.m_xf.R; var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); var _local5:Number = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function GetReactionTorque():Number{ return (m_torque); } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } public function GetMotorForce():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; _local4 = _local2.m_xf.R; var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); var _local17:Number = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); m_linearJacobian.linear1.x = -(_local14); m_linearJacobian.linear1.y = -(_local15); m_linearJacobian.linear2.x = _local14; m_linearJacobian.linear2.y = _local15; m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14))); m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14)); m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2)); m_linearMass = (1 / m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > Number.MIN_VALUE){ m_angularMass = (1 / m_angularMass); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); m_motorJacobian.linear1.x = -(_local18); m_motorJacobian.linear1.y = -(_local19); m_motorJacobian.linear2.x = _local18; m_motorJacobian.linear2.y = _local19; m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18))); m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local11:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = _local2.m_invMass; var _local5:Number = _local3.m_invMass; var _local6:Number = _local2.m_invI; var _local7:Number = _local3.m_invI; var _local9:Number = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local10:Number = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity); var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); var _local14:Number = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local9:b2Mat22; var _local10:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = _local3.m_invMass; var _local6:Number = _local4.m_invMass; var _local7:Number = _local3.m_invI; var _local8:Number = _local4.m_invI; _local9 = _local3.m_xf.R; var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local12:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local14:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; var _local15:Number = (_local3.m_sweep.c.x + _local11); var _local16:Number = (_local3.m_sweep.c.y + _local12); var _local17:Number = (_local4.m_sweep.c.x + _local13); var _local18:Number = (_local4.m_sweep.c.y + _local14); var _local19:Number = (_local17 - _local15); var _local20:Number = (_local18 - _local16); _local9 = _local3.m_xf.R; var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); var _local23:Number = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local24:Number = (-(m_linearMass) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2)); var _local25:Number = b2Math.b2Abs(_local23); var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); var _local27:Number = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local28:Number = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - m_lowerTranslation); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - m_upperTranslation); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 60
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var localAxis1:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerTranslation:Number; public var upperTranslation:Number; public var enableMotor:Boolean; public var maxMotorForce:Number; public var motorSpeed:Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); localAxis1 = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxis1.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); localAxis1 = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var m_ground:b2Body; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_u1:b2Vec2; public var m_u2:b2Vec2; public var m_constant:Number; public var m_ratio:Number; public var m_maxLength1:Number; public var m_maxLength2:Number; public var m_pulleyMass:Number; public var m_limitMass1:Number; public var m_limitMass2:Number; public var m_force:Number; public var m_limitForce1:Number; public var m_limitForce2:Number; public var m_positionImpulse:Number; public var m_limitPositionImpulse1:Number; public var m_limitPositionImpulse2:Number; public var m_state:int; public var m_limitState1:int; public var m_limitState2:int; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_body1.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.length1 + (m_ratio * _arg1.length2)); m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function GetReactionTorque():Number{ return (0); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } public function GetLength1():Number{ var _local1:b2Vec2 = m_body1.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetRatio():Number{ return (m_ratio); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; var _local20:Number = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_force = 0; } else { m_state = e_atUpperLimit; m_positionImpulse = 0; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitForce1 = 0; } else { m_limitState1 = e_atUpperLimit; m_limitPositionImpulse1 = 0; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitForce2 = 0; } else { m_limitState2 = e_atUpperLimit; m_limitPositionImpulse2 = 0; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.dt) * _local19) * m_u2.x); _local17 = ((-(_arg1.dt) * _local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } override public function SolvePositionConstraints():Boolean{ var _local3:b2Mat22; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local23:Number = 0; if (m_state == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u1.Set((_local12 - _local4), (_local13 - _local5)); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local16 = m_u1.Length(); _local17 = m_u2.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local16)); } else { m_u1.SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local17)); } else { m_u2.SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_pulleyMass) * _local18); _local20 = m_positionImpulse; m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19)); _local19 = (m_positionImpulse - _local20); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local14 = ((-(m_ratio) * _local19) * m_u2.x); _local15 = ((-(m_ratio) * _local19) * m_u2.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); m_u1.Set((_local12 - _local4), (_local13 - _local5)); _local16 = m_u1.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local16)); m_u1.y = (m_u1.y * (1 / _local16)); } else { m_u1.SetZero(); }; _local18 = (m_maxLength1 - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass1) * _local18); _local21 = m_limitPositionImpulse1; m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19)); _local19 = (m_limitPositionImpulse1 - _local21); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local17 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local17)); m_u2.y = (m_u2.y * (1 / _local17)); } else { m_u2.SetZero(); }; _local18 = (m_maxLength2 - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass2) * _local18); _local21 = m_limitPositionImpulse2; m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19)); _local19 = (m_limitPositionImpulse2 - _local21); _local14 = (-(_local19) * m_u2.x); _local15 = (-(_local19) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 62
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var length1:Number; public var maxLength1:Number; public var length2:Number; public var maxLength2:Number; public var ratio:Number; public function b2PulleyJointDef(){ groundAnchor1 = new b2Vec2(); groundAnchor2 = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchor1.Set(-1, 1); groundAnchor2.Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); length1 = 0; maxLength1 = 0; length2 = 0; maxLength2 = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_pivotForce:b2Vec2; public var m_motorForce:Number; public var m_limitForce:Number; public var m_limitPositionImpulse:Number; public var m_pivotMass:b2Mat22; public var m_motorMass:Number; public var m_enableMotor:Boolean; public var m_maxMotorTorque:Number; public var m_motorSpeed:Number; public var m_enableLimit:Boolean; public var m_referenceAngle:Number; public var m_lowerAngle:Number; public var m_upperAngle:Number; public var m_limitState:int; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_pivotForce = new b2Vec2(); m_pivotMass = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_referenceAngle = _arg1.referenceAngle; m_pivotForce.Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ return (m_pivotForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetMotorTorque():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local8:Number; var _local10:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; K1.col1.x = (_local10 + _local11); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local10 + _local11); K2.col1.x = ((_local12 * _local7) * _local7); K2.col2.x = ((-(_local12) * _local6) * _local7); K2.col1.y = ((-(_local12) * _local6) * _local7); K2.col2.y = ((_local12 * _local6) * _local6); K3.col1.x = ((_local13 * _local9) * _local9); K3.col2.x = ((-(_local13) * _local8) * _local9); K3.col1.y = ((-(_local13) * _local8) * _local9); K3.col2.y = ((_local13 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Invert(m_pivotMass); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); } else { m_pivotForce.SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local10:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local11:Number = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); var _local12:Number = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); var _local13:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); var _local14:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); var _local15:Number = (_arg1.dt * _local13); var _local16:Number = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local6:b2Mat22; var _local25:Number; var _local26:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = 0; _local6 = _local3.m_xf.R; var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local11:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; var _local12:Number = (_local3.m_sweep.c.x + _local7); var _local13:Number = (_local3.m_sweep.c.y + _local8); var _local14:Number = (_local4.m_sweep.c.x + _local10); var _local15:Number = (_local4.m_sweep.c.y + _local11); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); var _local18:Number = _local3.m_invMass; var _local19:Number = _local4.m_invMass; var _local20:Number = _local3.m_invI; var _local21:Number = _local4.m_invI; K1.col1.x = (_local18 + _local19); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local18 + _local19); K2.col1.x = ((_local20 * _local8) * _local8); K2.col2.x = ((-(_local20) * _local7) * _local8); K2.col1.y = ((-(_local20) * _local7) * _local8); K2.col2.y = ((_local20 * _local7) * _local7); K3.col1.x = ((_local21 * _local11) * _local11); K3.col2.x = ((-(_local21) * _local10) * _local11); K3.col1.y = ((-(_local21) * _local10) * _local11); K3.col2.y = ((_local21 * _local10) * _local10); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); var _local22:Number = tImpulse.x; var _local23:Number = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local24:Number = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - m_lowerAngle); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - m_upperAngle); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 64
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerAngle:Number; public var upperAngle:Number; public var enableMotor:Boolean; public var motorSpeed:Number; public var maxMotorTorque:Number; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 65
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var b_collisions;// = true public var m_gravity_vector; public var m_flags:uint; public var m_type:int; public var m_xf:b2XForm; public var m_sweep:b2Sweep; public var m_linearVelocity:b2Vec2; public var m_angularVelocity:Number; public var m_force:b2Vec2; public var m_torque:Number; public var m_world:b2World; public var m_prev:b2Body; public var m_next:b2Body; public var m_shapeList:b2Shape; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var m_contactList:b2ContactEdge; public var m_mass:Number; public var m_invMass:Number; public var m_I:Number; public var m_invI:Number; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_sleepTime:Number; public var m_userData; private static var s_massData:b2MassData = new b2MassData(); private static var s_xf1:b2XForm = new b2XForm(); public static var e_frozenFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var e_sleepFlag:uint = 8; public static var e_allowSleepFlag:uint = 16; public static var e_bulletFlag:uint = 32; public static var e_fixedRotationFlag:uint = 64; public static var e_staticType:uint = 1; public static var e_dynamicType:uint = 2; public static var e_maxTypes:uint = 3; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ m_gravity_vector = new b2Vec2(0, 1); m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.isBullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1.massData.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.massData.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.massData.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ if (m_world.m_lock == true){ return (null); }; var _local2:b2Shape = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function DestroyShape(_arg1:b2Shape):void{ if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); var _local2:b2Shape = m_shapeList; var _local3:b2Shape; var _local4:Boolean; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; if (m_world.m_lock == true){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; var _local5:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function SetMassFromShapes():void{ var _local1:b2Shape; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:b2MassData = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); m_I = (m_I + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); var _local5:b2Mat22 = m_xf.R; var _local6:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; var _local7:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (IsFrozen()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); var _local6:Boolean; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetXForm():b2XForm{ return (m_xf); } public function GetPosition():b2Vec2{ return (m_xf.position); } public function GetAngle():Number{ return (m_sweep.a); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } 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 GetMass():Number{ return (m_mass); } public function GetInertia():Number{ return (m_I); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } 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 GetShapeList():b2Shape{ return (m_shapeList); } public function GetJointList():b2JointEdge{ return (m_jointList); } public function GetNext():b2Body{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetWorld():b2World{ return (m_world); } public function SynchronizeShapes():Boolean{ var _local4:b2Shape; var _local1:b2XForm = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); var _local5:Boolean; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function SynchronizeTransform():void{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } } }//package Box2D.Dynamics
Section 66
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; public class b2BodyDef { public var massData:b2MassData; public var userData; public var position:b2Vec2; public var angle:Number; public var linearDamping:Number; public var angularDamping:Number; public var allowSleep:Boolean; public var isSleeping:Boolean; public var fixedRotation:Boolean; public var isBullet:Boolean; public function b2BodyDef(){ massData = new b2MassData(); position = new b2Vec2(); super(); massData.center.SetZero(); massData.mass = 0; massData.I = 0; userData = null; position.Set(0, 0); angle = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; isSleeping = false; fixedRotation = false; isBullet = false; } } }//package Box2D.Dynamics
Section 67
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 68
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((((_local3.m_type == 1)) && ((_local4.m_type == 2)))) || ((((_local4.m_type == 1)) && ((_local3.m_type == 2)))))){ return (false); }; if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 69
//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 Persist(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 70
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var m_nullContact:b2NullContact; public var m_destroyImmediate:Boolean; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_nullContact = new b2NullContact(); super(); m_world = null; m_destroyImmediate = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape = (_arg1 as b2Shape); var _local4:b2Shape = (_arg2 as b2Shape); var _local5:b2Body = _local3.m_body; var _local6:b2Body = _local4.m_body; if ((((_local5.b_collisions == false)) || ((_local6.b_collisions == false)))){ return (m_nullContact); }; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (m_nullContact); }; if (_local3.m_body == _local4.m_body){ return (m_nullContact); }; if (_local6.IsConnected(_local5)){ return (m_nullContact); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (m_nullContact); }; var _local7:b2Contact = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (m_nullContact); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ if (_arg3 == null){ return; }; var _local4:b2Contact = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; var _local2:b2Shape = _arg1.m_shape1; var _local3:b2Shape = _arg1.m_shape2; var _local4:int = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape1; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; var _local5:b2Body = _local2.m_body; var _local6:b2Body = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local2:b2Body; var _local3:b2Body; var _local1:b2Contact = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 71
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public class b2DebugDraw { public var m_drawFlags:uint; public var m_sprite:Sprite; public var m_drawScale:Number;// = 1 public var m_lineThickness:Number;// = 1 public var m_alpha:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_xformScale:Number;// = 1 public static var e_shapeBit:uint = 1; public static var e_jointBit:uint = 2; public static var e_coreShapeBit:uint = 4; 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_centerOfMassBit:uint = 64; public function b2DebugDraw(){ m_drawFlags = 0; } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function GetFlags():uint{ return (m_drawFlags); } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); var _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); var _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } } }//package Box2D.Dynamics
Section 72
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 73
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var m_allocator; public var m_listener:b2ContactListener; public var m_bodies:Array; public var m_contacts:Array; public var m_joints:Array; public var m_bodyCount:int; public var m_jointCount:int; public var m_contactCount:int; public var m_bodyCapacity:int; public var m_contactCapacity:int; public var m_jointCapacity:int; public var m_positionIterationCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; m_joints = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { m_joints[_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:*; var _local10:int; var _local11:Boolean; var _local12:Boolean; var _local13:Boolean; var _local14:Number; var _local15:Number; var _local16:Number; _local8 = new b2Vec2(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local8.x = (_arg2.x * _local6.m_gravity_vector.x); _local8.y = (_arg2.y * _local6.m_gravity_vector.y); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_local8.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_local8.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; var _local9:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local9.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local9.SolveVelocityConstraints(); _local10 = 0; while (_local10 < m_jointCount) { _local7 = m_joints[_local10]; _local7.SolveVelocityConstraints(_arg1); _local10++; }; _local5++; }; _local9.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local11 = _local9.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local12 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local13 = _local7.SolvePositionConstraints(); _local12 = ((_local12) && (_local13)); _local5++; }; if (((_local11) && (_local12))){ break; }; m_positionIterationCount++; }; }; Report(_local9.m_constraints); if (_arg4){ _local14 = Number.MAX_VALUE; _local15 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local16 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local14 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local16)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local15)))){ _local6.m_sleepTime = 0; _local14 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local14 = b2Math.b2Min(_local14, _local6.m_sleepTime); }; }; _local5++; }; if (_local14 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local5:b2Body; var _local6:Boolean; var _local3:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; var _local4:Number = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } public function Report(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (m_listener == null){ return; }; var _local4:int; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; m_listener.Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } } }//package Box2D.Dynamics
Section 74
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var dt:Number; public var inv_dt:Number; public var dtRatio:Number; public var maxIterations:int; public var warmStarting:Boolean; public var positionCorrection:Boolean; } }//package Box2D.Dynamics
Section 75
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var m_blockAllocator; public var m_stackAllocator; public var m_lock:Boolean; public var m_broadPhase:b2BroadPhase; public var m_contactManager:b2ContactManager; public var m_bodyList:b2Body; public var m_jointList:b2Joint; public var m_contactList:b2Contact; public var m_bodyCount:int; public var m_contactCount:int; public var m_jointCount:int; public var m_gravity:b2Vec2; public var m_allowSleep:Boolean; public var m_groundBody:b2Body; public var m_destructionListener:b2DestructionListener; public var m_boundaryListener:b2BoundaryListener; public var m_contactFilter:b2ContactFilter; public var m_contactListener:b2ContactListener; public var m_debugDraw:b2DebugDraw; public var m_inv_dt0:Number; public var m_positionIterationCount:int; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); private static var s_xf:b2XForm = new b2XForm(); public static var m_positionCorrection:Boolean; public static var m_warmStarting:Boolean; public static var m_continuousPhysics:Boolean; public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ m_contactManager = new b2ContactManager(); super(); m_destructionListener = null; m_boundaryListener = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg3; m_gravity = _arg2; m_lock = false; m_inv_dt0 = 0; m_contactManager.m_world = this; m_broadPhase = new b2BroadPhase(_arg1, m_contactManager); var _local4:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function Validate():void{ m_broadPhase.Validate(); } public function GetProxyCount():int{ return (m_broadPhase.m_proxyCount); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function CreateBody(_arg1:b2BodyDef):b2Body{ if (m_lock == true){ return (null); }; var _local2:b2Body = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function DestroyBody(_arg1:b2Body):void{ var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; var _local3:b2Shape = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local3:b2Body; var _local4:b2Shape; var _local2:b2Joint = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local5:b2Body; var _local6:b2Shape; if (_arg1 == null){ return; }; var _local2:Boolean = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; var _local3:b2Body = _arg1.m_body1; var _local4:b2Body = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } public function GetContactCount():int{ return (m_contactCount); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function Step(_arg1:Number, _arg2:int):void{ m_lock = true; var _local3:b2TimeStep = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (m_inv_dt0 * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; DrawDebugData(); m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array = new Array(_arg3); var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); var _local6:int; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function GetBodyList():b2Body{ return (m_bodyList); } public function GetJointList():b2Joint{ return (m_jointList); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; var _local3:b2Island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; var _local4:b2Contact = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; var _local5:b2Joint = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; var _local6:int = m_bodyCount; var _local7:Array = new Array(_local6); var _local8:b2Body = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); var _local9:int = m_bodyCount; var _local10:Array = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.m_body1; var _local3:b2Body = _arg1.m_body2; var _local4:b2XForm = _local2.m_xf; var _local5:b2XForm = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchor1(); var _local9:b2Vec2 = _arg1.GetAnchor2(); var _local10:b2Color = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; var _local5:b2Color = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ m_debugDraw.DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; m_debugDraw.DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; m_debugDraw.DrawPolygon(_local14, _local12, _local5); }; break; }; } public function DrawDebugData():void{ var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local11:b2XForm; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); var _local1:uint = m_debugDraw.GetFlags(); var _local7:b2Vec2 = new b2Vec2(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Color = new b2Color(0, 0, 0); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { DrawJoint(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); m_debugDraw.DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawXForm(_local11); _local3 = _local3.m_next; }; }; } } }//package Box2D.Dynamics
Section 76
//ArmorButton (gui.ArmorButton) package gui { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class ArmorButton extends SimpleButton { public function ArmorButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:URLRequest = new URLRequest("http://armorgames.com"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 77
//Base_Button (gui.Base_Button) package gui { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class Base_Button extends SimpleButton { public function Base_Button(){ addEventListener(MouseEvent.MOUSE_OVER, onOver); } private function onOver(_arg1){ if (main.b_sound){ main.m_main.ButtonOver.play(); }; } } }//package gui
Section 78
//BonusStar (gui.BonusStar) package gui { import flash.events.*; import flash.display.*; public dynamic class BonusStar extends MovieClip { var m_px;// = 279 var m_py;// = 18 var speed;// = 1 var dspeed;// = 0.6 var scores;// = 0 public function BonusStar(_arg1, _arg2, _arg3){ addFrameScript(24, frame25); scores = _arg3; x = _arg1; y = _arg2; addEventListener(Event.ENTER_FRAME, Update); main.m_main.GameGUI.addChild(this); mouseEnabled = false; main.m_scores = (main.m_scores + scores); if (main.m_scores > main.mySO.data.Saves.m_scores[(main.m_stage_number - 1)]){ main.mySO.data.Saves.m_scores[(main.m_stage_number - 1)] = main.m_scores; }; if (main.m_scores >= main.m_scores_data.m_data[main.m_stage_number]){ if (main.LevelNumberClip){ if (main.LevelNumberClip.bg.visible == false){ if (main.b_sound){ main.m_main.GoldSound.play(); }; }; main.LevelNumberClip.bg.visible = true; }; }; } public function Update(_arg1){ var _local2:* = (m_px - x); var _local3:* = (m_py - y); var _local4:* = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); if (_local4 < speed){ Delete(); return; }; _local2 = (_local2 / _local4); _local3 = (_local3 / _local4); x = (x + (_local2 * speed)); y = (y + (_local3 * speed)); speed = (speed + dspeed); } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } function frame25(){ stop(); } } }//package gui
Section 79
//FailLogo (gui.FailLogo) package gui { import flash.display.*; public dynamic class FailLogo extends MovieClip { } }//package gui
Section 80
//GameGUI (gui.GameGUI) package gui { import flash.events.*; import flash.display.*; import Objects.*; public dynamic class GameGUI extends MovieClip { public function GameGUI(){ addEventListener(Event.ENTER_FRAME, Update); this.TalkPoint.Marker.visible = false; } public function Update(_arg1){ if (main.m_main.currentLabel != "Game"){ removeEventListener(Event.ENTER_FRAME, Update); if (main.m_objects_panel){ main.m_objects_panel.Release(); }; }; } } }//package gui
Section 81
//GameMenu (gui.GameMenu) package gui { import flash.events.*; import flash.display.*; public dynamic class GameMenu extends MovieClip { var m_py;// = 456 public function GameMenu(){ y = 506; trace("GameMenu"); addEventListener(Event.ENTER_FRAME, Update); } public function Update(_arg1){ if (Math.abs((y - m_py)) > 1){ y = (y + ((m_py - y) * 0.2)); }; if (main.b_finish){ Hide(); } else { Show(); }; } public function Hide(){ } public function Show(){ m_py = 456; } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } } }//package gui
Section 82
//GamePoint (gui.GamePoint) package gui { import flash.events.*; import flash.display.*; public dynamic class GamePoint extends MovieClip { public function GamePoint(){ if (main.m_stage){ addChild(main.m_stage); }; } } }//package gui
Section 83
//GMButtonBum (gui.GMButtonBum) package gui { import flash.events.*; import flash.display.*; public dynamic class GMButtonBum extends SimpleButton { public function GMButtonBum(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ main.Bum(); } } }//package gui
Section 84
//GMButtonMenu (gui.GMButtonMenu) package gui { import flash.events.*; public dynamic class GMButtonMenu extends Base_Button { public function GMButtonMenu(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ removeEventListener(MouseEvent.MOUSE_DOWN, onPress); main.FreeAll(); main.m_main.gotoAndStop("Menu"); } } }//package gui
Section 85
//GMButtonRestart (gui.GMButtonRestart) package gui { import flash.events.*; public dynamic class GMButtonRestart extends Base_Button { public function GMButtonRestart(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ main.RestartLevel(); } } }//package gui
Section 86
//GMButtonWalk (gui.GMButtonWalk) package gui { import flash.events.*; import flash.net.*; public dynamic class GMButtonWalk extends Base_Button { public function GMButtonWalk(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:URLRequest = new URLRequest("http://armorgames.com/guide/zomblast-video-guide"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 87
//LevelNumber (gui.LevelNumber) package gui { import flash.events.*; import flash.display.*; public dynamic class LevelNumber extends MovieClip { public function LevelNumber(){ addFrameScript(0, frame1); var _local1:String = (main.m_stage_name.charAt((main.m_stage_name.length - 2)) + main.m_stage_name.charAt((main.m_stage_name.length - 1))); this.level_number_text.text = _local1; main.m_stage_number = int(_local1); } function frame1(){ stop(); } } }//package gui
Section 88
//LevelsButtonsClip (gui.LevelsButtonsClip) package gui { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class LevelsButtonsClip extends MovieClip { public function LevelsButtonsClip(){ var _local2:*; super(); addFrameScript(40, frame41, 84, frame85); x = main.m_level_menu_px; y = main.m_level_menu_py; addEventListener(Event.ENTER_FRAME, Update); this.PlayButton.addEventListener(MouseEvent.MOUSE_DOWN, pressPlayButton); this.BackButton.addEventListener(MouseEvent.MOUSE_DOWN, pressBackButton); this.CreditsButton.addEventListener(MouseEvent.MOUSE_DOWN, pressCreditsButton); this.BackCreditsButton.addEventListener(MouseEvent.MOUSE_DOWN, pressBackCreditsButton); this.MoreGamesButton.addEventListener(MouseEvent.MOUSE_DOWN, pressMoreGamesButton); this.WalkthroughButton.addEventListener(MouseEvent.MOUSE_DOWN, pressWalkthroughButton); var _local1:* = 0; _local2 = 0; while (_local2 < 30) { _local1 = (_local1 + main.mySO.data.Saves.m_scores[_local2]); _local2++; }; } public function pressPlayButton(_arg1){ main.m_level_menu_px = 0; main.m_level_menu_py = 0; } public function pressBackButton(_arg1){ main.m_level_menu_px = 640; main.m_level_menu_py = 0; } public function pressCreditsButton(_arg1){ main.m_level_menu_px = 0x0500; main.m_level_menu_py = 0; } public function pressBackCreditsButton(_arg1){ main.m_level_menu_px = 640; main.m_level_menu_py = 0; } public function pressMoreGamesButton(_arg1){ var _local2:URLRequest = new URLRequest("http://armorgames.com"); navigateToURL(_local2, "_blank"); } public function pressWalkthroughButton(_arg1){ var _local2:URLRequest = new URLRequest("http://armorgames.com/guide/zomblast-video-guide"); navigateToURL(_local2, "_blank"); } public function pressResetLevelsButton(_arg1){ main.ResetLevels(); } public function Update(_arg1){ var _local2:* = main.m_level_menu_px; var _local3:* = main.m_level_menu_py; if (Math.abs((y - _local3)) > 1){ y = (y + ((_local3 - y) * 0.2)); }; if (Math.abs((x - _local2)) > 1){ x = (x + ((_local2 - x) * 0.2)); }; } function frame41(){ if (main.m_main.b_first_expl){ if (main.b_music){ main.m_main.Explosion2Sound.play(); }; main.m_main.b_first_expl = false; }; } function frame85(){ stop(); } } }//package gui
Section 89
//LevelScores (gui.LevelScores) package gui { import flash.events.*; public dynamic class LevelScores { public var m_data; public function LevelScores(){ m_data = new Array(); Init(); } public function Init(){ m_data.push(0); m_data.push(130); m_data.push(350); m_data.push(380); m_data.push(740); m_data.push(200); m_data.push(400); m_data.push(100); m_data.push(540); m_data.push(270); m_data.push(220); m_data.push(900); m_data.push(240); m_data.push(800); m_data.push(640); m_data.push(440); m_data.push(240); m_data.push(300); m_data.push(400); m_data.push(480); m_data.push(540); m_data.push(220); m_data.push(390); m_data.push(660); m_data.push(450); m_data.push(400); m_data.push(300); m_data.push(210); m_data.push(330); m_data.push(250); m_data.push(450); m_data.push(300); m_data.push(660); m_data.push(200); m_data.push(400); m_data.push(200); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); } } }//package gui
Section 90
//MusicButton (gui.MusicButton) package gui { import flash.events.*; import flash.display.*; import flash.media.*; public dynamic class MusicButton extends MovieClip { public function MusicButton(){ addFrameScript(0, frame1); main.b_music = main.mySO.data.Saves.b_music; if (main.b_music == false){ this.gotoAndStop(2); }; addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:SoundTransform; if (main.b_music){ this.gotoAndStop(2); main.b_music = false; _local2 = new SoundTransform(0, 0); main.m_main.m_music.soundTransform = _local2; } else { this.gotoAndStop(1); main.b_music = true; _local2 = new SoundTransform(1, 0); main.m_main.m_music.soundTransform = _local2; }; main.mySO.data.Saves.b_music = main.b_music; } public function Delete(){ if (parent){ parent.removeChild(this); }; } function frame1(){ stop(); } } }//package gui
Section 91
//NextButton (gui.NextButton) package gui { import flash.events.*; public dynamic class NextButton extends Base_Button { public function NextButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:String = main.m_stage_name; _local2 = _local2.substr(6, 8); _local2 = (int(_local2) + 1); if (_local2 > 35){ this.visible = false; removeEventListener(MouseEvent.MOUSE_DOWN, onPress); main.FreeAll(); main.m_main.gotoAndStop("Final"); return; }; if (_local2 < 10){ main.m_stage_name = ("stage_0" + _local2); } else { main.m_stage_name = ("stage_" + _local2); }; main.FreeAll(); if (main.m_objects_panel){ main.m_objects_panel.Free(); }; main.CreateStage(main.m_stage_name); parent.visible = false; } } }//package gui
Section 92
//ObjectsPanel (gui.ObjectsPanel) package gui { import flash.events.*; import flash.display.*; import ai.*; import Objects.*; import flash.filters.*; public dynamic class ObjectsPanel extends MovieClip { public var m_objects; public var m_selected; var m_action; var dx; var dy; public var m_selected_2;// = 0 var m_rot;// = 0 var m_rot2;// = 0 var btn_down;// = false public var loaded;// = false public function ObjectsPanel(){ m_objects = new Array(); super(); trace("objects panel"); main.m_objects_panel = this; addEventListener(Event.ENTER_FRAME, Update); addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); addEventListener(MouseEvent.MOUSE_UP, MouseUp); main.m_main.stage.addEventListener(MouseEvent.MOUSE_WHEEL, onWheel); } public function Release(){ main.m_objects_panel.removeEventListener(Event.ENTER_FRAME, Update); main.m_objects_panel.removeEventListener(MouseEvent.MOUSE_DOWN, MouseDown); main.m_objects_panel.removeEventListener(MouseEvent.MOUSE_UP, MouseUp); main.m_objects_panel.parent.removeChild(main.m_objects_panel); main.m_objects_panel = 0; } private function RotateObj(_arg1){ var _local2:* = 0; for each (i in m_objects) { if (i.m_object.visible){ if (i.m_object.Selector2.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY)){ _local2 = i; }; }; }; if (_local2){ _local2.m_object.rotation = (_local2.m_object.rotation + (_arg1 * 8)); _local2.m_object.BBum.rotation = -(_local2.m_object.rotation); _local2.m_object.Frag.rotation = -(_local2.m_object.rotation); }; } private function onWheel(_arg1){ RotateObj(_arg1.delta); } public function Update(_arg1){ var _local3:*; var _local2:* = true; if (m_selected){ m_selected.m_object.x = (mouseX + dx); m_selected.m_object.y = (mouseY + dy); }; if (m_selected_2){ _local3 = Math.atan2((mouseY - m_selected_2.m_object.y), (mouseX - m_selected_2.m_object.x)); m_selected_2.m_object.rotation = ((m_rot + ((_local3 / Math.PI) * 180)) - m_rot2); m_selected_2.m_object.BBum.rotation = -(m_selected_2.m_object.rotation); m_selected_2.m_object.Frag.rotation = -(m_selected_2.m_object.rotation); }; if (main.button_rotate != 0){ RotateObj((main.button_rotate * 0.5)); }; for each (i in m_objects) { if (i.m_object.visible){ if (i.m_object.Selector2.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY, true)){ MouseWheel.capture(); _local2 = false; }; }; }; if (_local2){ MouseWheel.release(); }; } public function MouseDown(_arg1){ var _local2:*; var _local3:*; m_selected = 0; m_selected_2 = 0; btn_down = true; for each (_local2 in m_objects) { if (_local2.m_object.visible){ for each (_local3 in _local2.m_object.m_parts) { if (_local3.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY, true)){ m_selected_2 = _local2; m_rot = _local2.m_object.rotation; m_rot2 = Math.atan2((mouseY - m_selected_2.m_object.y), (mouseX - m_selected_2.m_object.x)); m_rot2 = ((m_rot2 / Math.PI) * 180); }; }; if (_local2.m_object.Selector.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY, true)){ dx = (_local2.m_object.x - mouseX); dy = (_local2.m_object.y - mouseY); m_selected = _local2; GlowImg(m_selected.m_object, true); m_selected_2 = 0; m_selected.m_object.ShowParts(true); ShowButtons(m_selected.m_object, true); addChild(m_selected.m_object); return; }; }; }; } public function MouseUp(_arg1){ btn_down = false; if (m_selected){ if (this.BG.hitTestObject(m_selected.m_object.Selector)){ m_selected.m_object.ShowParts(false); m_selected.m_object.x = m_selected.m_x; m_selected.m_object.y = m_selected.m_y; ShowButtons(m_selected.m_object, false); } else { main.StartGameNow(); }; GlowImg(m_selected.m_object, false); }; m_selected = 0; m_selected_2 = 0; } public function AddGrenade(_arg1=0, _arg2=0, _arg3=0, _arg4=0, _arg5=0, _arg6=0, _arg7=0, _arg8=0, _arg9=0, _arg10=0){ var _local12:*; var _local13:*; if (loaded){ return; }; var _local11:* = new Grenade(); if (_arg2 > 0){ _local11.AddPart(_arg1, _arg2); }; if (_arg4 > 0){ _local11.AddPart(_arg3, _arg4); }; if (_arg6 > 0){ _local11.AddPart(_arg5, _arg6); }; if (_arg8 > 0){ _local11.AddPart(_arg7, _arg8); }; if (_arg10 > 0){ _local11.AddPart(_arg9, _arg10); }; _local12 = (25 + (50 * m_objects.length)); _local13 = 0; m_objects.push({m_x:_local12, m_y:_local13, m_object:_local11}); _local11.x = _local12; _local11.y = _local13; ShowButtons(_local11, false); addChild(_local11); } public function Restart(){ var _local1:*; for each (_local1 in m_objects) { _local1.m_object.visible = true; }; } public function Free(){ var _local1:*; for each (_local1 in m_objects) { _local1.m_object.parent.removeChild(_local1.m_object); }; m_objects.splice(0); loaded = false; } function ShowButtons(_arg1, _arg2){ _arg1.BBum.visible = _arg2; CenterGrenades(); } function CenterGrenades(){ var _local3:*; var _local1:* = 169; var _local2:* = 0; for each (_local3 in m_objects) { if (((_local3.m_object.visible) && ((_local3.m_object.BBum.visible == false)))){ _local2++; }; }; _local1 = ((_local1 - ((_local2 / 2) * 50)) + (50 / 2)); for each (_local3 in m_objects) { if (((_local3.m_object.visible) && ((_local3.m_object.BBum.visible == false)))){ _local3.m_object.x = _local1; _local3.m_x = _local1; _local1 = (_local1 + 50); }; }; } public function GlowImg(_arg1, _arg2, _arg3:Number=16776805){ var _local4:BitmapFilter; if (!_arg1){ return; }; var _local5:Array = new Array(); var _local6:Number = 1; var _local7:Number = 21; var _local8:Number = 21; var _local9:Number = 1; var _local10:Boolean; var _local11:Boolean; var _local12:Number = BitmapFilterQuality.HIGH; _local4 = new GlowFilter(_arg3, _local6, _local7, _local8, _local9, _local12, _local10, _local11); if (_arg2){ _local5.push(_local4); }; _arg1.filters = _local5; } } }//package gui
Section 93
//Preloader (gui.Preloader) package gui { import flash.events.*; import flash.display.*; public dynamic class Preloader extends MovieClip { var bytestotal; var bytesloaded; var max_x;// = 300 var px;// = -370 var pmx;// = -10 var max_mx;// = 618 public function Preloader(){ addFrameScript(0, frame1); addEventListener(Event.ENTER_FRAME, Update); this.BPlay.addEventListener(MouseEvent.MOUSE_DOWN, onPressPlay); this.BPlay.visible = false; } public function Update(_arg1){ bytestotal = stage.loaderInfo.bytesTotal; bytesloaded = stage.loaderInfo.bytesLoaded; var _local2:int = ((bytesloaded * 100) / bytestotal); this.LoadingMan.LoadingSign.LoadingText.text = (String(_local2) + "%"); if (bytesloaded >= bytestotal){ this.LoadingMan.LoadingSign.LoadingText.text = "146%"; removeEventListener(Event.ENTER_FRAME, Update); this.BPlay.visible = true; }; } private function onPressPlay(_arg1){ trace("Ok"); if (bytesloaded >= bytestotal){ if (main.b_test == false){ if (main.b_locked){ main.m_main.gotoAndStop("Locked"); } else { main.m_main.gotoAndStop("Splash"); }; } else { main.m_main.gotoAndStop("Menu"); }; }; } function frame1(){ stop(); } } }//package gui
Section 94
//SoundButton (gui.SoundButton) package gui { import flash.events.*; import flash.display.*; import flash.media.*; public dynamic class SoundButton extends MovieClip { public function SoundButton(){ addFrameScript(0, frame1); main.b_sound = main.mySO.data.Saves.b_sound; if (main.b_sound == false){ this.gotoAndStop(2); }; addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ if (main.b_sound){ this.gotoAndStop(2); main.b_sound = false; } else { this.gotoAndStop(1); main.b_sound = true; }; main.mySO.data.Saves.b_sound = main.b_sound; } public function Delete(){ if (parent){ parent.removeChild(this); }; } function frame1(){ stop(); } } }//package gui
Section 95
//SplashButton2 (gui.SplashButton2) package gui { import flash.events.*; import flash.net.*; public dynamic class SplashButton2 extends Base_Button { public function SplashButton2(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:URLRequest = new URLRequest("http://newstagestudio.com"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 96
//StageButtonClip (gui.StageButtonClip) package gui { import flash.events.*; import flash.display.*; public dynamic class StageButtonClip extends MovieClip { public function StageButtonClip(){ var _local1:String = (name.charAt((name.length - 2)) + name.charAt((name.length - 1))); var _local2:* = int(_local1); this.Red.visible = false; this.Red.mouseEnabled = false; this.Green.visible = false; this.Green.mouseEnabled = false; this.Good.visible = false; this.Good.mouseEnabled = false; if (main.mySO.data.Saves.m_levels[(_local2 - 1)] == 0){ if (main.b_test == false){ this.BButton.mouseEnabled = false; }; this.Red.visible = true; }; this.BButton.addEventListener(MouseEvent.MOUSE_DOWN, onPress); if (main.mySO.data.Saves.m_levels[(_local2 - 1)] == 2){ if (main.mySO.data.Saves.m_scores[(_local2 - 1)] >= main.m_scores_data.m_data[_local2]){ this.Good.visible = true; }; this.Green.visible = true; }; } private function onPress(_arg1){ root.gotoAndStop("Game"); main.CreateStage(name); } } }//package gui
Section 97
//WinMenu (gui.WinMenu) package gui { import flash.events.*; import flash.display.*; public dynamic class WinMenu extends MovieClip { public function WinMenu(){ addFrameScript(43, frame44); visible = false; addEventListener(Event.ENTER_FRAME, Update); stop(); } public function Update(_arg1){ if (((main.b_finish) && (!(visible)))){ Show(); } else { if (((!(main.b_finish)) && (visible))){ Hide(); }; }; } public function Show(){ gotoAndPlay(1); visible = true; } public function Hide(){ visible = false; stop(); } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } function frame44(){ stop(); } } }//package gui
Section 98
//bird_fly (Objects.bird_fly) package Objects { import flash.events.*; import flash.display.*; public dynamic class bird_fly extends MovieClip { var dx; var dy; var ddx; var ddy; var sx; var sy; public function bird_fly():void{ var _local1:* = 1; if (((!(main.m_stage)) || (!(main.m_stage.bg)))){ return; }; main.m_stage.bg.addChild(this); sx = (x = ((Math.random() * 640) - 320)); sy = (y = ((Math.random() * 480) - 240)); dx = ((Math.random() * _local1) - (_local1 / 2)); dy = ((Math.random() * _local1) - (_local1 / 2)); ddx = ((Math.random() * 0.01) - 0.005); ddy = ((Math.random() * 0.01) - 0.005); scaleX = 0; scaleY = 0; addEventListener(Event.ENTER_FRAME, Update); } public function Update(_arg1){ if ((((((((x < -400)) || ((x > 400)))) || ((y < -400)))) || ((y > 400)))){ removeEventListener(Event.ENTER_FRAME, Update); this.parent.removeChild(this); return; }; x = (x + dx); y = (y + dy); dx = (dx + ddx); dy = (dy + ddy); var _local2:* = (((x - sx) * (x - sx)) + ((y - sy) * (y - sy))); var _local3:* = (1 * ((_local2 / (800 * 800)) + 0.05)); scaleX = _local3; scaleY = _local3; } } }//package Objects
Section 99
//Box_01 (Objects.Box_01) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Box_01 extends Box_Base { public function Box_01(){ m_friction = 0.5; m_density = 0.02; } } }//package Objects
Section 100
//Box_02 (Objects.Box_02) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Box_02 extends Box_Base { public function Box_02(){ m_friction = 0.5; m_density = 0.2; } } }//package Objects
Section 101
//Box_Base (Objects.Box_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Box_Base extends MovieClip { public var p1:Object; public var p2:Object; public var p3:Object; public var p4:Object; public var m_phys_body;// = 0 public var m_density;// = 0.2 public var m_friction;// = 0.3 public var m_type;// = 5 public var m_angular_damping;// = 0 public var m_linear_damping;// = 0 public var b_bullet;// = false public function Box_Base(){ main.AddObject(this, m_type); } public function CreatePhysBody(){ var _local1:b2PolygonDef; var _local3:b2Body; _local1 = new b2PolygonDef(); var _local2:b2BodyDef = new b2BodyDef(); _local1.density = m_density; _local1.friction = m_friction; _local1.restitution = 0.1; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((rotation / 180) * Math.PI); rotation = 0; _local2.angularDamping = m_angular_damping; _local2.linearDamping = m_linear_damping; _local1.SetAsBox(((width / 2) / main.m_physScale), ((height / 2) / main.m_physScale)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); m_phys_body = _local3; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = int(m_type); m_phys_body.m_userData.m_body = this; if (b_bullet){ m_phys_body.SetBullet(true); }; } public function Update(){ if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; } public function Destroy(){ main.m_world.DestroyBody(m_phys_body); } public function ExploseForce(_arg1, _arg2, _arg3=0){ var _local4:*; var _local5:*; if (m_phys_body){ _arg2 = (_arg2 * m_phys_body.GetMass()); _local5 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); if (_arg3 == 0){ _local4 = new b2Vec2(m_phys_body.GetPosition().x, m_phys_body.GetPosition().y); } else { _local4 = _arg3; }; m_phys_body.ApplyImpulse(_local5, _local4); }; } } }//package Objects
Section 102
//BoxStatic_Base (Objects.BoxStatic_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class BoxStatic_Base extends MovieClip { public var p1:Object; public var p2:Object; public var p3:Object; public var p4:Object; public var m_phys_body;// = 0 public var m_type;// = 0 public var m_friction;// = 0.5 public var m_filter;// = -4 public function BoxStatic_Base(){ main.AddObject(this, m_type); } public function CreatePhysBody(){ var _local1:b2PolygonDef; var _local2:b2BodyDef; var _local3:b2Body; _local1 = new b2PolygonDef(); _local2 = new b2BodyDef(); _local1.density = 0; _local1.friction = m_friction; _local1.restitution = 0.1; _local1.filter.groupIndex = this.m_filter; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((rotation / 180) * Math.PI); rotation = 0; _local1.SetAsBox(((width / main.m_physScale) / 2), ((height / main.m_physScale) / 2)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); m_phys_body = _local3; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = m_type; m_phys_body.m_userData.m_body = this; } public function Update(){ if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; } public function Destroy(){ main.m_world.DestroyBody(m_phys_body); if (parent){ parent.removeChild(this); }; } } }//package Objects
Section 103
//BoxStaticRemovable (Objects.BoxStaticRemovable) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class BoxStaticRemovable extends BoxStatic_Base { public function BoxStaticRemovable(){ m_filter = 0; } } }//package Objects
Section 104
//Car_Base (Objects.Car_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; import flash.display.*; public dynamic class Car_Base extends MovieClip { public var m_phys_body:b2Body; private var pw; private var pa; private var pm; private var ps; private var box; public var ibox; public var bw; public var iw; private var spring_length; public var b_breaks;// = true public var m_dens;// = 0.2 public var m_frict;// = 1.5 public var m_force;// = 4.5 public var b_bad;// = false public var b_back;// = false public var b_tormoza;// = true public var m_group_num; public var m_sound;// = 0 public var m_sound_type;// = 0 public var b_big;// = false public var m_type;// = 1 public function Car_Base(_arg1=0, _arg2=0):void{ pw = new Array(); pa = new Array(); pm = new Array(); ps = new Array(); bw = new Array(); iw = new Array(); super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ x = _arg1; y = _arg2; }; m_group_num = main.g_num; main.g_num--; } public function FirstInit(_arg1){ var _local4:*; var _local5:*; var _local6:*; var _local7:*; box = _arg1.Box; box.visible = false; var _local2:* = 1; var _local3:* = true; while (_local3) { _local4 = ("Wheel" + _local2); _local5 = ("IWheel" + _local2); _local6 = this[_local4]; _local7 = this[_local5]; if ((((_local6 == undefined)) || ((_local7 == undefined)))){ _local3 = false; } else { _local6.visible = false; bw.push(_local6); iw.push(_local7); _local2++; }; }; ibox = _arg1.IBox; Init(); main.AddObject(this, m_type); } public function MouseDown(_arg1){ if (b_breaks){ UnBreak(); } else { Break(b_tormoza); }; } private function Init():void{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:int; var _local10:b2Body; var _local11:b2BodyDef; var _local12:b2PolygonDef; var _local13:b2CircleDef; var _local14:b2RevoluteJointDef; var _local15:b2PrismaticJointDef; _local3 = box.width; _local4 = box.height; _local11 = new b2BodyDef(); _local12 = new b2PolygonDef(); _local12.density = m_dens; _local12.friction = 0.5; _local12.restitution = 0.2; _local12.filter.groupIndex = m_group_num; _local11.position.Set(((x + box.x) / main.m_physScale), ((y + box.y) / main.m_physScale)); _local11.angle = ((rotation / 180) * Math.PI); _local12.SetAsBox(((_local3 / 2) / main.m_physScale), ((_local4 / 2) / main.m_physScale)); m_phys_body = main.m_world.CreateBody(_local11); m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = int(1); m_phys_body.m_userData.m_body = this; m_phys_body.CreateShape(_local12); m_phys_body.SetMassFromShapes(); _local12.density = 1; _local12.friction = 0.5; _local9 = 0; while (_local9 < bw.length) { _local1 = (bw[_local9].width / 2); _local2 = (bw[_local9].width / 2); spring_length = ((bw[_local9].y - box.y) + (_local4 / 2)); _local11.position.Set(((x + bw[_local9].x) / main.m_physScale), (((y + bw[_local9].y) - (_local1 / 2)) / main.m_physScale)); _local11.angle = (Math.PI / 2); _local6 = main.m_world.CreateBody(_local11); _local12.SetAsBox((5 / main.m_physScale), (5 / main.m_physScale)); _local6.CreateShape(_local12); _local6.SetMassFromShapes(); _local15 = new b2PrismaticJointDef(); _local15.Initialize(m_phys_body, _local6, _local6.GetWorldCenter(), new b2Vec2(0, 1)); _local15.lowerTranslation = (-(spring_length) / main.m_physScale); _local15.upperTranslation = (spring_length / main.m_physScale); _local15.enableLimit = true; _local15.enableMotor = true; _local8 = (main.m_world.CreateJoint(_local15) as b2PrismaticJoint); _local13 = new b2CircleDef(); _local13.radius = (_local1 / main.m_physScale); _local13.density = m_dens; _local13.friction = m_frict; _local13.restitution = 0.2; _local13.filter.groupIndex = m_group_num; _local11 = new b2BodyDef(); _local11.position.Set(((bw[_local9].x + x) / main.m_physScale), ((bw[_local9].y + y) / main.m_physScale)); _local11.allowSleep = false; _local5 = main.m_world.CreateBody(_local11); _local5.CreateShape(_local13); _local5.SetMassFromShapes(); _local5.m_userData = new Object(); _local5.m_userData.m_type = int(1); _local5.m_userData.m_body = this; _local14 = new b2RevoluteJointDef(); _local14.enableMotor = true; _local14.Initialize(_local6, _local5, _local5.GetWorldCenter()); _local7 = (main.m_world.CreateJoint(_local14) as b2RevoluteJoint); _local8.SetMaxMotorForce(100000); _local8.SetMaxMotorForce(100000); pw.push(_local5); pa.push(_local6); pm.push(_local7); ps.push(_local8); _local9++; }; Break(true, true); } public function GetPosition(){ return ([(m_phys_body.GetPosition().x * main.m_physScale), (m_phys_body.GetPosition().y * main.m_physScale)]); } public function Update(){ var _local1:*; if (m_phys_body){ ibox.x = ((m_phys_body.GetPosition().x * main.m_physScale) - x); ibox.y = ((m_phys_body.GetPosition().y * main.m_physScale) - y); ibox.rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; _local1 = 0; while (_local1 < iw.length) { iw[_local1].x = ((pw[_local1].GetPosition().x * main.m_physScale) - x); iw[_local1].y = ((pw[_local1].GetPosition().y * main.m_physScale) - y); iw[_local1].rotation = ((pw[_local1].GetAngle() / Math.PI) * 180); ps[_local1].SetMaxMotorForce((30 + Math.abs((800 * Math.pow(ps[_local1].GetJointTranslation(), 2))))); ps[_local1].SetMotorSpeed(((ps[_local1].GetMotorSpeed() - (10 * ps[_local1].GetJointTranslation())) * 0.4)); _local1++; }; var _local2:* = (spring_length / 20); if (b_breaks == false){ }; } public function Destroy(){ var _local1:*; for each (_local1 in pm) { main.m_world.DestroyJoint(_local1); }; for each (_local1 in ps) { main.m_world.DestroyJoint(_local1); }; for each (_local1 in pw) { main.m_world.DestroyBody(_local1); }; for each (_local1 in pa) { main.m_world.DestroyBody(_local1); }; main.m_world.DestroyBody(m_phys_body); for each (_local1 in bw) { _local1.parent.removeChild(_local1); }; for each (_local1 in iw) { _local1.parent.removeChild(_local1); }; box.parent.removeChild(box); ibox.parent.removeChild(ibox); } public function Break(_arg1, _arg2=false){ var _local3:*; var _local4:*; if (b_bad){ return; }; ibox.smoke.visible = false; b_breaks = true; for each (_local3 in pm) { if (_arg1){ _local4 = _local3.GetJointAngle(); _local3.EnableLimit(true); _local3.SetLimits((_local4 - 0.1), (_local4 + 0.1)); }; _local3.EnableMotor(false); }; if (_arg2 == false){ if (main.b_sound){ if (m_sound){ m_sound.stop(); }; m_sound = main.m_main.BreakingSound.play(0, 1); }; }; } public function UnBreak(){ if (b_bad){ return; }; b_breaks = false; for each (i in pm) { i.EnableLimit(false); i.EnableMotor(true); i.SetMotorSpeed((m_force * Math.PI)); i.SetMaxMotorTorque(30000); }; if (main.b_sound){ if (m_sound){ m_sound.stop(); }; if (b_big){ m_sound = main.m_main.GasBigSound.play(0, 1); } else { m_sound = main.m_main.GasSmallSound.play(0, 1); }; }; ibox.smoke.visible = true; } public function ExploseForce(_arg1, _arg2){ var _local3:*; var _local4:*; if (m_phys_body){ _local3 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); _local4 = new b2Vec2(m_phys_body.GetPosition().x, m_phys_body.GetPosition().y); m_phys_body.ApplyImpulse(_local3, _local4); }; } } }//package Objects
Section 105
//Car1 (Objects.Car1) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car1 extends Car_Base { public function Car1(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 1.5; m_force = 6.5; b_bad = false; b_tormoza = true; FirstInit(this); this.m_back = "Car1_Back"; this.b_left = true; } } }//package Objects
Section 106
//Car3_Back (Objects.Car3_Back) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car3_Back extends Car_Base { public function Car3_Back(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 0.7; m_force = -7.5; b_bad = false; b_tormoza = true; b_big = true; FirstInit(this); this.m_back = "Car3"; this.b_left = false; } } }//package Objects
Section 107
//Car4_Back (Objects.Car4_Back) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car4_Back extends Car_Base { public function Car4_Back(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 0.7; m_force = -7.5; b_bad = false; b_tormoza = true; b_big = true; FirstInit(this); this.m_back = "Car4"; this.b_left = false; } } }//package Objects
Section 108
//Circle (Objects.Circle) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Circle extends MovieClip { public var p1:Object; public var p2:Object; public var p3:Object; public var p4:Object; public var m_phys_body;// = 0 public var m_type;// = 9 public var b_bullet;// = false public function Circle(){ main.AddObject(this, m_type); } public function CreatePhysBody(){ var _local1:b2BodyDef; _local1 = new b2BodyDef(); _local1.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local1.angle = ((rotation / 180) * Math.PI); rotation = 0; var _local2:b2CircleDef = new b2CircleDef(); _local2.radius = ((width / main.m_physScale) / 2); _local2.density = 0.2; _local2.restitution = 0.2; _local2.friction = 0.1; b = main.m_world.CreateBody(_local1); b.CreateShape(_local2); b.SetMassFromShapes(); m_phys_body = b; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = m_type; m_phys_body.m_userData.m_body = this; if (b_bullet){ m_phys_body.SetBullet(true); }; } public function Update(){ if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; } public function Destroy(){ main.m_world.DestroyBody(m_phys_body); } public function ExploseForce(_arg1, _arg2){ var _local3:*; var _local4:*; if (m_phys_body){ _arg2 = (_arg2 * m_phys_body.GetMass()); _local3 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); _local4 = new b2Vec2(m_phys_body.GetPosition().x, m_phys_body.GetPosition().y); m_phys_body.ApplyImpulse(_local3, _local4); }; } } }//package Objects
Section 109
//ContactListenerClass (Objects.ContactListenerClass) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public class ContactListenerClass extends b2ContactListener { public var contactStack:Array; public function ContactListenerClass(){ contactStack = new Array(); super(); } override public function Add(_arg1:b2ContactPoint):void{ var _local6:Number; var _local7:b2Vec2; var _local8:b2Vec2; var _local2:b2Shape = _arg1.shape1; var _local3:b2Shape = _arg1.shape2; var _local4:* = -1; var _local5:* = -1; if (_local2.GetBody().m_userData){ _local4 = _local2.GetBody().m_userData.m_type; }; if (_local3.GetBody().m_userData){ _local5 = _local3.GetBody().m_userData.m_type; }; if (_local4 == 6){ _local2.GetBody().m_userData.m_body.b_need_delete = true; }; if (_local5 == 6){ _local3.GetBody().m_userData.m_body.b_need_delete = true; }; if ((((((((((_local4 == 6)) && ((_local5 == 8)))) || ((((_local4 == 8)) && ((_local5 == 6)))))) || ((((_local4 == 1)) && ((_local5 == 8)))))) || ((((_local4 == 8)) && ((_local5 == 1)))))){ if (_local4 == 8){ contactStack.push({car:_local2.GetBody(), man:_local3.GetBody()}); } else { contactStack.push({car:_local3.GetBody(), man:_local2.GetBody()}); }; }; if (((!((_local4 == -1))) && (!((_local5 == -1))))){ if ((((((_local4 == 6)) && ((_local5 == 2)))) || ((((_local5 == 6)) && ((_local4 == 2)))))){ _local6 = _arg1.separation; _local7 = _arg1.position.Copy(); _local8 = _arg1.normal.Copy(); if (_local4 == 6){ contactStack.push({car:_local2.GetBody(), man:_local3.GetBody(), force:_local6, pos:_local7, norm:_local8}); } else { contactStack.push({car:_local3.GetBody(), man:_local2.GetBody(), force:_local6, pos:_local7, norm:_local8}); }; }; }; } } }//package Objects
Section 110
//Explosive_1 (Objects.Explosive_1) package Objects { import flash.events.*; import flash.display.*; public dynamic class Explosive_1 extends Explosive_Base { public function Explosive_1(){ addFrameScript(0, frame1); m_density = 0.4; m_friction = 0.5; m_force = 500; m_time = 0; m_radius = 50; } function frame1(){ stop(); } } }//package Objects
Section 111
//Explosive_Base (Objects.Explosive_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.utils.*; public dynamic class Explosive_Base extends Box_Base { private var size1;// = 0 private var color1;// = 14922046 private var size2;// = 3 private var color2;// = 16776805 public var m_force;// = 100 public var m_time;// = 0 public var m_radius;// = 200 var t_time;// = 0 var b_start;// = false var b_final;// = false var b_visible_parts;// = false var m_parts; var b_bum;// = false public function Explosive_Base(){ m_parts = new Array(); super(); m_type = 8; } override public function Update(){ super.Update(); if (b_bum){ return; }; if (((!(b_visible_parts)) && (this.Selector.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY)))){ ShowParts(true); }; if (((b_visible_parts) && (!(this.Selector.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY))))){ ShowParts(false); }; if (b_final){ return; }; var _local1:* = getTimer(); } public function AddPart(_arg1, _arg2){ var _local3:* = new MovieClip(); _local3.m_a = _arg1; _local3.m_r = _arg2; var _local4:* = new GrenadePart(); _local4.rotation = (_arg1 - 15); _local4.x = (_arg2 * Math.cos(((_arg1 / 180) * Math.PI))); _local4.y = (_arg2 * Math.sin(((_arg1 / 180) * Math.PI))); var _local5:* = new Shape(); _local5.graphics.lineStyle(size1, color1); _local5.graphics.moveTo(0, 0); _local5.graphics.lineTo(_local4.x, _local4.y); _local5.alpha = 0.6; _local3.addChild(_local5); _local3.addChild(_local4); addChild(_local3); m_parts.push(_local3); _local3.visible = false; } public function ShowParts(_arg1){ var _local2:*; for each (_local2 in m_parts) { _local2.visible = _arg1; }; b_visible_parts = _arg1; } public function Explose(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local7:* = new b2Vec2(); if (b_bum){ return; }; if (main.b_sound){ main.m_main.ExplosionSound.play(); }; b_bum = true; main.shake_num = 7; _local3 = new Explosion(); _local3.x = x; _local3.y = y; main.m_stage.addChild(_local3); gotoAndStop(2); ShowParts(false); m_phys_body.m_shapeList.m_filter.groupIndex = -4; _local5 = x; _local6 = y; for each (_local1 in m_parts) { _local10 = _local5; _local11 = _local6; _local3 = new GrenadePhysPart(_local10, _local11, (_local1.m_a + rotation), _local1.m_r); main.m_stage.addChild(_local3); }; for each (_local1 in main.m_objects) { if (((_local1.ExploseForce) && (!((_local1 == this))))){ _local12 = _local1.x; _local13 = _local1.y; if ((((_local1.m_type == 1)) || ((_local1.m_type == 3)))){ _local14 = _local1.GetPosition(); _local12 = _local14[0]; _local13 = _local14[1]; }; if ((((_local1.m_type == 5)) || ((_local1.m_type == 8)))){ _local9 = _local1.m_phys_body.m_shapeList.GetVertices(); for each (_local4 in _local9) { _local12 = ((_local4.x * main.m_physScale) + _local1.x); _local13 = ((_local4.y * main.m_physScale) + _local1.y); _local7.x = (_local12 - _local5); _local7.y = (_local13 - _local6); _local8 = _local7.Length(); if (_local8 < m_radius){ _local7.Normalize(); _local1.ExploseForce(_local7, ((m_force / _local8) * 0.25), new b2Vec2((_local12 / main.m_physScale), (_local13 / main.m_physScale))); }; }; } else { _local7.x = (_local12 - _local5); _local7.y = (_local13 - _local6); _local8 = _local7.Length(); if (_local8 < m_radius){ _local7.Normalize(); _local1.ExploseForce(_local7, (m_force / _local8)); }; }; }; }; } override public function Destroy(){ super.Destroy(); parent.removeChild(this); } } }//package Objects
Section 112
//Explosive_WorkPart (Objects.Explosive_WorkPart) package Objects { import flash.events.*; import flash.display.*; public dynamic class Explosive_WorkPart extends MovieClip { public var b_action;// = false public function Explosive_WorkPart():void{ addEventListener(Event.ENTER_FRAME, Update); } public function Update(_arg1){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; for each (i in main.m_objects) { if ((((i.m_type == 8)) && ((i.name == name)))){ _local2 = (x - i.x); _local3 = (y - i.y); _local4 = ((Math.atan2(_local3, _local2) / Math.PI) * 180); _local5 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); i.AddPart(_local4, _local5); }; }; removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } } }//package Objects
Section 113
//FireControll (Objects.FireControll) package Objects { import flash.events.*; import flash.display.*; import gui.*; import flash.geom.*; public dynamic class FireControll { public var m_level_fires; public var m_body_fires; public var m_car_fires; public var m_counter; public function FireControll(){ trace("Create FireControll"); m_level_fires = new Array(); m_body_fires = new Array(); m_car_fires = new Array(); } public function AddLevelFire(_arg1){ _arg1.b_enabled = true; m_level_fires.push(_arg1); } public function Update(){ var _local1:*; var _local2:*; var _local3:*; m_counter = 0; for each (_local1 in m_level_fires) { if (_local1.b_enabled == true){ for each (_local2 in main.m_objects) { if ((((_local2.m_type == 3)) && (!((_local2.b_fired == true))))){ if ((((((((((((_local2.m_ibody.b_fire == true)) && ((_local2.m_ihand1.b_fire == true)))) && ((_local2.m_ihand2.b_fire == true)))) && ((_local2.m_ileg1.b_fire == true)))) && ((_local2.m_ileg2.b_fire == true)))) && ((_local2.m_ihead.b_fire == true)))){ _local3 = new BonusStar(_local2.m_ibody.x, _local2.m_ibody.y, 10); _local2.b_fired = true; }; }; if ((((_local2.m_type == 3)) && (!((_local2.b_fired == true))))){ TryFirePart(_local1, _local2.m_ibody); TryFirePart(_local1, _local2.m_ihand1); TryFirePart(_local1, _local2.m_ihand2); TryFirePart(_local1, _local2.m_ileg1); TryFirePart(_local1, _local2.m_ileg2); TryFirePart(_local1, _local2.m_ihead); }; }; }; }; for each (_local1 in m_body_fires) { _local1.x = _local1.m_body.x; _local1.y = _local1.m_body.y; }; for each (_local1 in main.m_objects) { if ((((_local1.m_type == 3)) && (!((_local1.b_fired == true))))){ for each (_local2 in m_body_fires) { if (TryFirePart(_local2, _local1.m_ibody)){ break; }; if (TryFirePart(_local2, _local1.m_ihand1)){ break; }; if (TryFirePart(_local2, _local1.m_ihand2)){ break; }; if (TryFirePart(_local2, _local1.m_ileg1)){ break; }; if (TryFirePart(_local2, _local1.m_ileg2)){ break; }; if (TryFirePart(_local2, _local1.m_ihead)){ break; }; }; }; }; } public function TryFirePart(_arg1, _arg2){ if (_arg2.b_fire != true){ if (IfNear(_arg1, _arg2)){ _arg2.b_fire = true; AddFireBody(_arg2); return (true); }; }; return (false); } public function AddFireBody(_arg1){ if (main.b_sound){ main.m_main.FireSmallSound.play(); }; var _local2:* = new FireBody(); _local2.x = _arg1.x; _local2.y = _arg1.y; _local2.alpha = 0.5; main.m_main.addChild(_local2); _local2.m_body = _arg1; m_body_fires.push(_local2); } public function IfNear(_arg1, _arg2){ m_counter++; var _local3:* = 20; var _local4:* = 20; if ((((Math.abs((_arg1.x - _arg2.x)) < _local3)) && ((Math.abs((_arg1.y - _arg2.y)) < _local4)))){ return (true); }; return (false); } public function FreeAll(){ for each (i in m_body_fires) { i.parent.removeChild(i); }; for each (i in m_car_fires) { i.parent.removeChild(i); }; m_level_fires.splice(0); m_body_fires.splice(0); m_car_fires.splice(0); } public function Init(){ var _local1:*; var _local2:* = false; for each (_local1 in main.m_objects) { if (_local1.m_type == 4){ _local2 = true; break; }; }; if (_local2){ for each (_local1 in m_level_fires) { _local1.DisableFire(); }; }; } public function Activate(){ var _local1:*; for each (_local1 in m_level_fires) { _local1.EnableFire(); }; } } }//package Objects
Section 114
//Grenade (Objects.Grenade) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Grenade extends MovieClip { private var size1;// = 0 private var color1;// = 14922046 private var size2;// = 3 private var color2;// = 16776805 public var m_parts; public var b_activated;// = false public var m_radius;// = 50 public var m_force;// = 500 public function Grenade(){ m_parts = new Array(); super(); this.BBum.addEventListener(MouseEvent.MOUSE_DOWN, BumDown); } public function BumDown(_arg1){ main.StartGameNow(); Explose(); main.m_objects_panel.GlowImg(this, false); main.m_objects_panel.m_selected = 0; main.m_objects_panel.m_selected_2 = 0; main.shake_num = 7; if (main.b_sound){ main.m_main.ExplosionSound.play(); }; } public function AddPart(_arg1, _arg2){ var _local3:* = new MovieClip(); _local3.m_a = _arg1; _local3.m_r = _arg2; var _local4:* = new GrenadePart(); _local4.rotation = (_arg1 - 15); _local4.x = (_arg2 * Math.cos(((_arg1 / 180) * Math.PI))); _local4.y = (_arg2 * Math.sin(((_arg1 / 180) * Math.PI))); var _local5:* = new Shape(); _local5.graphics.lineStyle(size1, color1); _local5.graphics.moveTo(0, 0); _local5.graphics.lineTo(_local4.x, _local4.y); _local5.alpha = 0.6; _local3.addChild(_local5); _local3.mouseEnabled = false; _local3.mouseChildren = false; _local3.addChild(_local4); this.CenterBox.addChild(_local3); m_parts.push(_local3); _local3.visible = false; } public function ShowParts(_arg1){ var _local2:*; for each (_local2 in m_parts) { _local2.visible = _arg1; }; b_activated = _arg1; } public function Explose(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local5:* = new b2Vec2(); _local3 = ((x + parent.x) + parent.parent.x); _local4 = ((y + parent.y) + parent.parent.y); _local8 = new Explosion(); _local8.x = _local3; _local8.y = _local4; main.m_stage.addChild(_local8); for each (_local1 in m_parts) { _local9 = _local3; _local10 = _local4; _local8 = new GrenadePhysPart(_local9, _local10, (_local1.m_a + rotation), _local1.m_r); main.m_stage.addChild(_local8); }; for each (_local1 in main.m_objects) { if (_local1.ExploseForce){ _local11 = _local1.x; _local12 = _local1.y; if ((((_local1.m_type == 1)) || ((_local1.m_type == 3)))){ _local13 = _local1.GetPosition(); _local11 = _local13[0]; _local12 = _local13[1]; }; if ((((_local1.m_type == 5)) || ((_local1.m_type == 8)))){ _local7 = _local1.m_phys_body.m_shapeList.GetVertices(); for each (_local2 in _local7) { _local5.x = _local2.x; _local5.y = _local2.y; _local5.Rotate(((_local1.rotation / 180) * Math.PI)); _local11 = ((_local5.x * main.m_physScale) + _local1.x); _local12 = ((_local5.y * main.m_physScale) + _local1.y); _local5.x = (_local11 - _local3); _local5.y = (_local12 - _local4); _local6 = _local5.Length(); if (_local6 < m_radius){ _local5.Normalize(); _local1.ExploseForce(_local5, ((m_force / _local6) * 0.25), new b2Vec2((_local11 / main.m_physScale), (_local12 / main.m_physScale))); }; }; } else { _local5.x = (_local11 - _local3); _local5.y = (_local12 - _local4); _local6 = _local5.Length(); _local14 = 0; if (_local1.m_type == 9){ _local14 = (_local1.width / 2); }; if ((_local6 - _local14) < m_radius){ _local5.Normalize(); _local1.ExploseForce(_local5, (m_force / _local6)); }; }; }; }; visible = false; } } }//package Objects
Section 115
//GrenadePartSled (Objects.GrenadePartSled) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class GrenadePartSled extends MovieClip { var sx; var sy; var sw; var sh; var dh; public function GrenadePartSled(_arg1, _arg2){ x = (sx = _arg1); y = (sy = _arg2); dh = (height / width); addEventListener(Event.ENTER_FRAME, Update); main.m_stage.addChild(this); } public function Move(_arg1, _arg2){ rotation = 0; var _local3:* = Math.sqrt((((_arg1 - sx) * (_arg1 - sx)) + ((_arg2 - sy) * (_arg2 - sy)))); width = _local3; height = (_local3 * dh); rotation = ((Math.atan2((_arg2 - sy), (_arg1 - sx)) / Math.PI) * 180); } public function Update(_arg1){ alpha = (alpha - 0.05); if (alpha <= 0){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); }; } } }//package Objects
Section 116
//GrenadePhysPart (Objects.GrenadePhysPart) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class GrenadePhysPart extends MovieClip { public var p1:Object; public var p2:Object; public var p3:Object; public var p4:Object; public var m_phys_body;// = 0 public var m_type;// = 6 public var b_bullet;// = true public var b_need_delete;// = false var rot;// = 0 var max_dist;// = 0 var m_filter;// = -4 var ox; var oy; var sled;// = 0 public function GrenadePhysPart(_arg1=0, _arg2=0, _arg3=0, _arg4=0){ ox = (x = _arg1); oy = (y = _arg2); rot = ((_arg3 / 180) * Math.PI); max_dist = (_arg4 * _arg4); main.AddObject(this, m_type); sled = new GrenadePartSled(x, y); } public function CreatePhysBody(){ var _local1:b2BodyDef = new b2BodyDef(); _local1.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local1.angle = ((rotation / 180) * Math.PI); rotation = 0; var _local2:b2CircleDef = new b2CircleDef(); _local2.radius = ((width / main.m_physScale) / 2); _local2.density = 0.1; _local2.restitution = 0.2; _local2.friction = 0.1; _local2.filter.groupIndex = this.m_filter; _local2.filter.m_type = 2; b = main.m_world.CreateBody(_local1); b.CreateShape(_local2); b.SetMassFromShapes(); m_phys_body = b; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = m_type; m_phys_body.m_userData.m_body = this; if (b_bullet){ m_phys_body.SetBullet(true); }; ForcePart(40); } public function Update(){ var _local1:*; if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); if (sled){ sled.Move(x, y); }; _local1 = (((ox - x) * (ox - x)) + ((oy - y) * (oy - y))); if (b_need_delete == true){ if (_local1 >= max_dist){ x = (ox + (Math.cos(rot) * Math.sqrt(max_dist))); y = (oy + (Math.sin(rot) * Math.sqrt(max_dist))); if (sled){ sled.Move(x, y); }; }; main.DeleteObject(this); return; }; if (_local1 >= max_dist){ x = (ox + (Math.cos(rot) * Math.sqrt(max_dist))); y = (oy + (Math.sin(rot) * Math.sqrt(max_dist))); if (sled){ sled.Move(x, y); }; main.DeleteObject(this); return; }; }; } public function IfCan(_arg1, _arg2){ dist = (((ox - _arg1) * (ox - _arg1)) + ((oy - _arg2) * (oy - _arg2))); if (dist >= max_dist){ return (false); }; return (true); } public function Destroy(){ var _local1:* = new BuhPart(); _local1.angle = ((rotation / 180) * Math.PI); _local1.x = x; _local1.y = y; main.m_stage.addChild(_local1); sled = 0; main.m_world.DestroyBody(m_phys_body); if (parent){ parent.removeChild(this); }; } public function ForcePart(_arg1){ var _local2:*; var _local3:*; if (m_phys_body){ _arg1 = (_arg1 * m_phys_body.GetMass()); _local2 = new b2Vec2((Math.cos(rot) * _arg1), (Math.sin(rot) * _arg1)); _local3 = new b2Vec2(m_phys_body.GetPosition().x, m_phys_body.GetPosition().y); m_phys_body.ApplyImpulse(_local2, _local3); }; } } }//package Objects
Section 117
//Joint (Objects.Joint) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Joint extends MovieClip { public var m_phys_body;// = 0 public var m_phys_body2;// = 0 var m_joint;// = null public var m_speed;// = 0 var m_break_force;// = 100000 public function Joint(){ main.AddObject(this, 11); } public function GetBody(_arg1:Boolean=false){ var _local10:b2Shape; var _local11:Boolean; var _local2:b2Vec2 = new b2Vec2(); _local2.Set((x / main.m_physScale), (y / main.m_physScale)); var _local3:b2AABB = new b2AABB(); _local3.lowerBound.Set(((x / main.m_physScale) - 0.001), ((y / main.m_physScale) - 0.001)); _local3.upperBound.Set(((x / main.m_physScale) + 0.001), ((y / main.m_physScale) + 0.001)); var _local4 = 10; var _local5:Array = new Array(); var _local6:int = main.m_world.Query(_local3, _local5, _local4); var _local7:b2Body; var _local8:b2Body; var _local9:int; while (_local9 < _local6) { _local10 = (_local5[_local9] as b2Shape); _local11 = (_local5[_local9] as b2Shape).TestPoint(_local10.GetBody().GetXForm(), _local2); if (_local11){ if (_local7 == null){ _local7 = _local10.GetBody(); } else { _local8 = _local10.GetBody(); break; }; }; _local9++; }; return ([_local7, _local8]); } public function CreatePhysBody(){ var _local2:b2RevoluteJointDef; var _local3:*; var _local1:* = GetBody(); m_phys_body = _local1[0]; m_phys_body2 = _local1[1]; if (m_phys_body){ _local2 = new b2RevoluteJointDef(); _local3 = new b2Vec2((x / main.m_physScale), (y / main.m_physScale)); if (m_phys_body2){ _local2.Initialize(m_phys_body, m_phys_body2, _local3); } else { _local2.Initialize(main.m_world.GetGroundBody(), m_phys_body, _local3); }; m_joint = (main.m_world.CreateJoint(_local2) as b2RevoluteJoint); if (m_speed){ m_joint.EnableMotor(true); m_joint.SetMotorSpeed((m_speed * Math.PI)); m_joint.SetMaxMotorTorque(10000); }; }; } public function Update(){ var _local1:*; if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); if (!m_phys_body){ main.DeleteObject(this); return; }; }; if (m_joint){ _local1 = m_joint.GetAnchor1(); x = (_local1.x * main.m_physScale); y = (_local1.y * main.m_physScale); if (m_joint.m_pivotForce.Length() > m_break_force){ main.DeleteObject(this); }; if (m_speed){ m_joint.SetMotorSpeed((m_speed * Math.PI)); }; }; } public function Destroy(){ main.m_world.DestroyJoint(m_joint); m_joint = null; if (parent){ parent.removeChild(this); }; } } }//package Objects
Section 118
//JointRotor (Objects.JointRotor) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class JointRotor extends Joint { public function JointRotor(){ m_speed = 1; } } }//package Objects
Section 119
//JointStatic (Objects.JointStatic) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class JointStatic extends MovieClip { public var m_phys_body;// = 0 public var m_phys_body2;// = 0 var m_joint;// = null var m_speed;// = 0 public function JointStatic(){ main.AddObject(this, 11); } public function GetBody(_arg1:Boolean=false){ var _local10:b2Shape; var _local11:Boolean; var _local2:b2Vec2 = new b2Vec2(); _local2.Set((x / main.m_physScale), (y / main.m_physScale)); var _local3:b2AABB = new b2AABB(); _local3.lowerBound.Set(((x / main.m_physScale) - 0.001), ((y / main.m_physScale) - 0.001)); _local3.upperBound.Set(((x / main.m_physScale) + 0.001), ((y / main.m_physScale) + 0.001)); var _local4 = 10; var _local5:Array = new Array(); var _local6:int = main.m_world.Query(_local3, _local5, _local4); var _local7:b2Body; var _local8:b2Body; var _local9:int; while (_local9 < _local6) { _local10 = (_local5[_local9] as b2Shape); _local11 = (_local5[_local9] as b2Shape).TestPoint(_local10.GetBody().GetXForm(), _local2); if (_local11){ if (_local7 == null){ _local7 = _local10.GetBody(); } else { _local8 = _local10.GetBody(); break; }; }; _local9++; }; return ([_local7, _local8]); } public function CreatePhysBody(){ var _local2:b2RevoluteJointDef; var _local3:*; var _local1:* = GetBody(); m_phys_body = _local1[0]; m_phys_body2 = _local1[1]; if (m_phys_body){ _local2 = new b2RevoluteJointDef(); _local3 = new b2Vec2((x / main.m_physScale), (y / main.m_physScale)); if (m_phys_body2){ _local2.Initialize(m_phys_body, m_phys_body2, _local3); } else { _local2.Initialize(main.m_world.GetGroundBody(), m_phys_body, _local3); }; m_joint = (main.m_world.CreateJoint(_local2) as b2RevoluteJoint); if (m_speed){ m_joint.EnableMotor(true); m_joint.SetMotorSpeed((m_speed * Math.PI)); m_joint.SetMaxMotorTorque(1); }; m_joint.m_enableLimit = true; }; } public function Update(){ var _local1:*; if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); if (!m_phys_body){ main.DeleteObject(this); return; }; }; if (m_joint){ _local1 = m_joint.GetAnchor1(); x = (_local1.x * main.m_physScale); y = (_local1.y * main.m_physScale); }; } public function Destroy(){ main.m_world.DestroyJoint(m_joint); m_joint = null; } } }//package Objects
Section 120
//Man_01 (Objects.Man_01) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_01 extends Man_Base { public function Man_01():void{ addFrameScript(0, frame1); m_img_name = "Man_01_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 121
//Man_01_reverse (Objects.Man_01_reverse) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_01_reverse extends Man_Base { public function Man_01_reverse():void{ addFrameScript(0, frame1); m_img_name = "Man_01_"; b_reverse = true; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 122
//Man_02 (Objects.Man_02) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_02 extends Man_Base { public function Man_02():void{ addFrameScript(0, frame1); m_img_name = "Man_02_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 123
//Man_03 (Objects.Man_03) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_03 extends Man_Base { public function Man_03():void{ addFrameScript(0, frame1); m_img_name = "Man_03_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 124
//Man_04 (Objects.Man_04) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_04 extends Man_Base { public function Man_04():void{ addFrameScript(0, frame1); m_img_name = "Man_04_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 125
//Man_04_reverse (Objects.Man_04_reverse) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_04_reverse extends Man_Base { public function Man_04_reverse():void{ addFrameScript(0, frame1); m_img_name = "Man_04_"; b_reverse = true; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 126
//Man_06 (Objects.Man_06) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_06 extends Man_Base { public function Man_06():void{ addFrameScript(0, frame1); m_img_name = "Man_06_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 127
//Man_07 (Objects.Man_07) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_07 extends Man_Base { public function Man_07():void{ addFrameScript(0, frame1); m_img_name = "Man_07_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 128
//Man_08 (Objects.Man_08) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_08 extends Man_Base { public function Man_08():void{ addFrameScript(0, frame1); m_img_name = "Man_08_"; Init(this.BBox, this.BBody); } function frame1(){ stop(); } } }//package Objects
Section 129
//Man_Base (Objects.Man_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Man_Base extends MovieClip { public var p1:Object; public var p2:Object; public var p3:Object; public var p4:Object; public var m_phys_body;// = 0 public var m_box;// = 0 public var m_body;// = 0 public var m_break_coeff;// = 1 public var m_img_name; public var anim;// = 1 var ox; var oy; public var m_talk;// = 0 public var b_reverse;// = false public var b_overscreen;// = false public function Man_Base(){ ox = x; oy = y; stop(); } public function Init(_arg1, _arg2){ m_box = _arg1; m_body = _arg2; m_box.visible = false; m_body.Head.visible = false; m_body.Body.visible = false; m_body.Hand1.visible = false; m_body.Hand2.visible = false; m_body.Leg1.visible = false; m_body.Leg2.visible = false; main.AddObject(this, 2); } public function ChangeStatic(){ var _local1:* = int((Math.random() * 3)); if (_local1 == 0){ this.gotoAndStop("Static"); } else { if (_local1 == 1){ this.gotoAndStop("Static2"); } else { if (_local1 == 2){ this.gotoAndStop("Static3"); }; }; }; } public function CreatePhysBody(){ var _local3:b2Body; var _local1:b2PolygonDef = new b2PolygonDef(); var _local2:b2BodyDef = new b2BodyDef(); _local1.density = 0.02; _local1.friction = 0.2; _local1.restitution = 0.1; _local1.filter.b_rigid = 1; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((m_box.rotation / 180) * Math.PI); m_box.rotation = 0; _local1.SetAsBox(((m_box.width / 2) / main.m_physScale), ((m_box.height / 2) / main.m_physScale)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); m_phys_body = _local3; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = int(2); m_phys_body.m_userData.m_body = this; } public function Update(){ var _local1:* = 5; var _local2:* = 5; if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; var _local3:* = this.BBox.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY); if (main.over_pause > 0){ _local3 = false; }; if (anim == 1){ if (((!((currentLabel == "Over"))) && (_local3))){ gotoAndStop("Over"); }; if ((((currentLabel == "Over")) && (!(_local3)))){ ChangeStatic(); }; }; if (anim == 1){ if (((((((((ox - x) < -(_local1))) || (((ox - x) > 5)))) || (((oy - y) < -(_local2))))) || (((oy - y) > _local2)))){ gotoAndStop("Fall"); anim = 2; }; }; if (anim == 2){ if ((((ox == x)) && ((oy == y)))){ ChangeStatic(); anim = 1; }; ox = x; oy = y; }; var _local4:* = -(m_phys_body.GetAngle()); m_phys_body.ApplyTorque((_local4 * 1)); if (y > 1000){ main.DeleteObject(this); }; } public function Destroy(){ main.m_world.DestroyBody(m_phys_body); if (parent){ parent.removeChild(this); }; } public function ExploseForce(_arg1, _arg2){ var _local3:*; if (m_phys_body){ _arg2 = (_arg2 * m_phys_body.GetMass()); _arg2 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); _local3 = new b2Vec2(m_phys_body.GetPosition().x, m_phys_body.GetPosition().y); m_phys_body.ApplyImpulse(_arg2, _local3); }; } public function GetPosition(){ return ([(m_phys_body.GetPosition().x * main.m_physScale), (m_phys_body.GetPosition().y * main.m_physScale)]); } } }//package Objects
Section 130
//Migalka_Med (Objects.Migalka_Med) package Objects { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Migalka_Med extends MovieClip { public function Migalka_Med(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Objects
Section 131
//Ragdoll (Objects.Ragdoll) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import gui.*; import flash.utils.*; import flash.geom.*; public dynamic class Ragdoll extends MovieClip { public var m_pbody;// = 0 public var m_phand1;// = 0 public var m_phand2;// = 0 public var m_pleg1;// = 0 public var m_pleg2;// = 0 public var m_phead;// = 0 public var m_ibody;// = 0 public var m_ihand1;// = 0 public var m_ihand2;// = 0 public var m_ileg1;// = 0 public var m_ileg2;// = 0 public var m_ihead;// = 0 public var joint1;// = 0 public var joint2;// = 0 public var joint3;// = 0 public var joint4;// = 0 public var joint5;// = 0 public var m_group_num; public var m_bc;// = 1 public var m_type;// = 3 public var m_filter;// = 0 public var m_talk;// = 0 public function Ragdoll(_arg1, _arg2, _arg3, _arg4, _arg5){ m_bc = _arg1.m_break_coeff; m_group_num = main.g_num; main.g_num--; m_pbody = CreatePhysBody(_arg1.BBody.Body); m_phand1 = CreatePhysBody(_arg1.BBody.Hand1); m_phand2 = CreatePhysBody(_arg1.BBody.Hand2); m_pleg1 = CreatePhysBody(_arg1.BBody.Leg1); m_pleg2 = CreatePhysBody(_arg1.BBody.Leg2); m_phead = CreatePhysCircle(_arg1.BBody.Head); joint1 = CreatePhysJoint(m_pbody, m_phand1, -2, -7); joint2 = CreatePhysJoint(m_pbody, m_phand2, 2, -7); joint3 = CreatePhysJoint(m_pbody, m_pleg1, -4, 7); joint4 = CreatePhysJoint(m_pbody, m_pleg2, 4, 7); joint5 = CreatePhysJoint(m_pbody, m_phead, 0, -10); m_ibody = new ((getDefinitionByName((_arg1.m_img_name + "Body")) as Class)); m_ihand1 = new ((getDefinitionByName((_arg1.m_img_name + "Hand1")) as Class)); m_ihand2 = new ((getDefinitionByName((_arg1.m_img_name + "Hand2")) as Class)); m_ileg1 = new ((getDefinitionByName((_arg1.m_img_name + "Leg1")) as Class)); m_ileg2 = new ((getDefinitionByName((_arg1.m_img_name + "Leg2")) as Class)); m_ihead = new ((getDefinitionByName((_arg1.m_img_name + "Head")) as Class)); main.m_stage.addChild(m_ibody); main.m_stage.addChild(m_ihand1); main.m_stage.addChild(m_ihand2); main.m_stage.addChild(m_ileg1); main.m_stage.addChild(m_ileg2); main.m_stage.addChild(m_ihead); main.AddObject(this, m_type); var _local6:* = new b2Vec2(_arg4, _arg5); var _local7:* = new b2Vec2(_arg4, _arg5); var _local8:* = new b2Vec2(0, 0); if (_arg2){ _local8 = _arg2.m_phys_body.GetLinearVelocity(); }; _local8.Multiply(main.m_force_coeff); if (_arg2){ m_pbody.ApplyForce(_local8, _local6); } else { m_pbody.ApplyForce(new b2Vec2(0.003, 0), _local7); }; if (_arg2){ if (_local8.x > 0){ m_pbody.ApplyTorque((Math.PI / (Math.random() * 100))); } else { m_pbody.ApplyTorque((-(Math.PI) / (Math.random() * 100))); }; }; if (_arg1.m_talk){ m_talk = _arg1.m_talk; m_talk.m_man = this; _arg1.m_talk = 0; }; main.m_talks.ChangeMan(_arg1, this); } public function CreatePhysBody(_arg1){ var _local4:b2Body; var _local2:b2PolygonDef = new b2PolygonDef(); var _local3:b2BodyDef = new b2BodyDef(); _local2.density = 0.03; _local2.friction = 0.5; _local2.restitution = 0.1; _local2.filter.groupIndex = this.m_filter; _local2.filter.m_type = 1; var _local5:* = new Point(_arg1.x, _arg1.y); _local5 = _arg1.parent.localToGlobal(_local5); _local3.position.Set((_local5.x / main.m_physScale), (_local5.y / main.m_physScale)); _local3.angle = ((_arg1.rotation / 180) * Math.PI); _arg1.rotation = 0; _local2.SetAsBox(((_arg1.width / 2) / main.m_physScale), ((_arg1.height / 2) / main.m_physScale)); _local4 = main.m_world.CreateBody(_local3); _local4.CreateShape(_local2); _local4.SetMassFromShapes(); _local4.m_userData = new Object(); _local4.m_userData.m_type = int(m_type); _local4.m_userData.m_body = this; return (_local4); } public function CreatePhysCircle(_arg1){ var _local2:* = new Point(_arg1.x, _arg1.y); _local2 = _arg1.parent.localToGlobal(_local2); var _local3:b2BodyDef = new b2BodyDef(); _local3.position.Set((_local2.x / main.m_physScale), (_local2.y / main.m_physScale)); _local3.angle = ((rotation / 180) * Math.PI); rotation = 0; var _local4:b2CircleDef = new b2CircleDef(); _local4.radius = ((_arg1.width / main.m_physScale) / 2); _local4.density = 0.02; _local4.restitution = 0.2; _local4.friction = 0.1; _local4.filter.groupIndex = this.m_filter; _local4.filter.m_type = 1; b = main.m_world.CreateBody(_local3); b.CreateShape(_local4); b.SetMassFromShapes(); b.m_userData = new Object(); b.m_userData.m_type = int(m_type); b.m_userData.m_body = this; return (b); } public function CreatePhysJoint(_arg1, _arg2, _arg3, _arg4){ var _local5:* = new b2RevoluteJointDef(); var _local6:* = _arg1.GetWorldCenter(); _arg1.GetWorldCenter().x = (_local6.x + (_arg3 / main.m_physScale)); _local6.y = (_local6.y + (_arg4 / main.m_physScale)); _local5.Initialize(_arg1, _arg2, _local6); var _local7:* = (main.m_world.CreateJoint(_local5) as b2RevoluteJoint); _local6.x = (_local6.x - (_arg3 / main.m_physScale)); _local6.y = (_local6.y - (_arg4 / main.m_physScale)); var _local8:* = _local7.GetJointAngle(); _local7.EnableLimit(true); _local7.SetLimits((_local8 - (Math.PI / 4)), (_local8 + (Math.PI / 4))); return (_local7); } public function Update(){ if (m_ibody == 0){ return; }; SetIObj(m_ibody, m_pbody); SetIObj(m_ihand1, m_phand1); SetIObj(m_ihand2, m_phand2); SetIObj(m_ileg1, m_pleg1); SetIObj(m_ileg2, m_pleg2); SetIObj(m_ihead, m_phead); var _local1:* = 16; if (UJoint(joint1)){ m_ibody.Blood_LHand.gotoAndPlay(_local1); m_ihand1.Blood.gotoAndPlay(_local1); joint1 = null; }; if (UJoint(joint2)){ m_ibody.Blood_RHand.gotoAndPlay(_local1); m_ihand2.Blood.gotoAndPlay(_local1); joint2 = null; }; if (UJoint(joint3)){ m_ibody.Blood_LLeg.gotoAndPlay(_local1); m_ileg1.Blood.gotoAndPlay(_local1); joint3 = null; }; if (UJoint(joint4)){ m_ibody.Blood_RLeg.gotoAndPlay(_local1); m_ileg2.Blood.gotoAndPlay(_local1); joint4 = null; }; if (UJoint(joint5)){ m_ibody.Blood_Head.gotoAndPlay(_local1); m_ihead.Blood.gotoAndPlay(_local1); joint5 = null; }; } public function UJoint(_arg1){ var _local5:*; var _local6:*; var _local7:*; if (_arg1 == null){ return; }; var _local2:* = _arg1.GetReactionForce(); var _local3:* = _local2.Length(); var _local4:* = 1; if (_local3 > (_local4 * m_bc)){ if (main.b_sound){ _local7 = (int((Math.random() * 3)) + 1); if (_local7 == 1){ main.m_main.CrackSound1.play(); } else { if (_local7 == 2){ main.m_main.CrackSound2.play(); } else { if (_local7 == 3){ main.m_main.CrackSound3.play(); }; }; }; }; _local5 = _arg1.GetAnchor1(); _local6 = new BonusStar((_local5.x * main.m_physScale), (_local5.y * main.m_physScale), 10); main.m_world.DestroyJoint(_arg1); return (true); }; return (false); } public function SetIObj(_arg1, _arg2){ _arg1.x = (_arg2.GetPosition().x * main.m_physScale); _arg1.y = (_arg2.GetPosition().y * main.m_physScale); _arg1.rotation = ((_arg2.GetAngle() / Math.PI) * 180); } public function Destroy(){ main.m_world.DestroyJoint(joint1); main.m_world.DestroyJoint(joint2); main.m_world.DestroyJoint(joint3); main.m_world.DestroyJoint(joint4); main.m_world.DestroyJoint(joint5); main.m_world.DestroyBody(m_pbody); main.m_world.DestroyBody(m_phand1); main.m_world.DestroyBody(m_phand2); main.m_world.DestroyBody(m_pleg1); main.m_world.DestroyBody(m_pleg2); main.m_world.DestroyBody(m_phead); main.m_stage.removeChild(m_ibody); main.m_stage.removeChild(m_ihand1); main.m_stage.removeChild(m_ihand2); main.m_stage.removeChild(m_ileg1); main.m_stage.removeChild(m_ileg2); main.m_stage.removeChild(m_ihead); } public function GetPosition(){ return ([(m_phead.GetPosition().x * main.m_physScale), (m_phead.GetPosition().y * main.m_physScale)]); } public function ExploseForce(_arg1, _arg2){ var _local3:*; var _local4:*; if (m_pbody){ _arg2 = (_arg2 * m_pbody.GetMass()); _local3 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); _local4 = new b2Vec2(m_pbody.GetPosition().x, m_pbody.GetPosition().y); m_pbody.ApplyImpulse(_local3, _local4); m_phand1.ApplyImpulse(_local3, _local4); m_phand2.ApplyImpulse(_local3, _local4); m_pleg1.ApplyImpulse(_local3, _local4); m_pleg2.ApplyImpulse(_local3, _local4); m_phead.ApplyImpulse(_local3, _local4); }; } } }//package Objects
Section 132
//StaticTrigger (Objects.StaticTrigger) package Objects { import flash.events.*; import flash.display.*; public dynamic class StaticTrigger extends MovieClip { public var b_action;// = false public var m_type;// = 7 public function StaticTrigger():void{ main.AddObject(this, m_type); } public function Update(){ var _local1:*; if (b_action == true){ return; }; for each (_local1 in main.m_objects) { if (_local1.m_type == 1){ CheckTrigger2(_local1.ibox); } else { if (_local1.m_type == 3){ CheckTrigger(_local1.m_ibody); CheckTrigger(_local1.m_ihand1); CheckTrigger(_local1.m_ihand2); CheckTrigger(_local1.m_ileg1); CheckTrigger(_local1.m_ileg2); CheckTrigger(_local1.m_ihead); } else { if ((((_local1.m_type == 5)) || ((_local1.m_type == 9)))){ CheckTrigger2(_local1); } else { if (_local1.m_type == 2){ CheckTrigger2(_local1.BBox); }; }; }; }; }; } public function CheckTrigger(_arg1){ if (b_action == true){ return; }; if (this.hitTestPoint(_arg1.x, _arg1.y, true)){ Action(); }; } public function CheckTrigger2(_arg1){ if (b_action == true){ return; }; if (this.hitTestObject(_arg1)){ Action(); }; } public function Action(){ var _local2:*; var _local3:*; b_action = true; var _local1:* = ("S" + this.name); var _local4:* = 0; var _local5:* = true; while (_local5) { _local5 = false; _local2 = 0; while (_local2 < main.m_stage.numChildren) { _local3 = main.m_stage.getChildAt(_local2); if ((((_local3.name == _local1)) && (!((_local3 == this))))){ _local5 = true; main.DeleteObject(_local3); break; }; _local2++; }; }; this.stop(); this.visible = false; } public function Destroy(){ if (parent){ parent.removeChild(this); }; } } }//package Objects
Section 133
//TalkClip (Objects.TalkClip) package Objects { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; public dynamic class TalkClip extends MovieClip { public var m_man; var m_text; var m_px; var m_py; var b_active;// = false var m_death_time;// = 0 var m_dx;// = 0 var m_dy;// = 0 public function TalkClip(_arg1, _arg2, _arg3){ addFrameScript(9, frame10); if (_arg3 > 0){ m_death_time = (getTimer() + _arg3); }; m_man = _arg1; _arg1.m_talk = this; m_text = _arg2; main.m_main.GameGUI.TalkPoint.addChild(this); mouseEnabled = false; mouseChildren = false; if (_arg1.b_reverse){ m_dx = 20; }; UpdatePPosition(); x = m_px; y = m_py; } function UpdatePPosition(){ var _local1:* = m_man.GetPosition(); m_px = (_local1[0] + m_dx); m_py = (_local1[1] + m_dy); } public function Update(){ var _local1:*; _local1 = 0.4; if (this.TextAnim.TText){ this.TextAnim.TText.text = m_text; this.TextAnim.TText.y = (-(this.TextAnim.TText.textHeight) / 2); }; UpdatePPosition(); var _local2:* = (m_px - x); var _local3:* = (m_py - y); var _local4:* = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); if (_local4 < 5){ b_active = false; }; if (_local4 > 10){ b_active = true; }; if (b_active){ x = (x + (_local2 * _local1)); y = (y + (_local3 * _local1)); }; if (y < 135){ y = 135; }; if (x > 546){ x = 546; }; if (x < 105){ x = 105; }; if (m_death_time > 0){ if (getTimer() > m_death_time){ main.m_talks.DeleteTalk(this); }; }; } public function Delete(){ if (parent){ parent.removeChild(this); }; } function frame10(){ stop(); } } }//package Objects
Section 134
//TalkManager (Objects.TalkManager) package Objects { import flash.events.*; import flash.utils.*; public dynamic class TalkManager { var m_talks; var m_data; var t_time;// = 0 var t_time2; public function TalkManager():void{ m_talks = new Array(); m_data = new Array(); } public function Clear(){ var _local1:*; for each (_local1 in m_talks) { _local1.Delete(); }; m_talks.splice(0); m_data.splice(0); } public function ResetTime(){ t_time2 = getTimer(); t_time = 0; } public function Update(){ var _local1:*; for each (_local1 in m_talks) { _local1.Update(); }; _local1 = 0; while (_local1 < m_data.length) { if (m_data[_local1].m_type == 1){ if (((getTimer() - m_data[_local1].m_time) - t_time2) > 0){ CreateTalk(m_data[_local1]); m_data.splice(_local1, 1); }; }; _local1++; }; if (main.b_finish == false){ return; }; if (t_time == 0){ t_time = getTimer(); }; _local1 = 0; while (_local1 < m_data.length) { if (m_data[_local1].m_type == 2){ if (((getTimer() - m_data[_local1].m_time) - t_time) > 0){ CreateTalk(m_data[_local1]); m_data.splice(_local1, 1); }; }; _local1++; }; } public function AddTalkStart(_arg1, _arg2, _arg3, _arg4){ m_data.push({m_man:_arg1, m_text:_arg2, m_time:_arg3, m_time2:_arg4, m_type:1}); } public function AddTalkFinish(_arg1, _arg2, _arg3){ m_data.push({m_man:_arg1, m_text:_arg2, m_time:_arg3, m_time2:0, m_type:2}); } public function CreateTalk(_arg1){ var _local2:* = new TalkClip(_arg1.m_man, _arg1.m_text, _arg1.m_time2); m_talks.push(_local2); } public function DeleteTalk(_arg1){ var _local2:*; _local2 = 0; while (_local2 < m_talks.length) { if (m_talks[_local2] == _arg1){ m_talks[_local2].m_man.m_talk = 0; m_talks[_local2].Delete(); m_talks.splice(_local2, 1); }; _local2++; }; } public function ChangeMan(_arg1, _arg2){ var _local3:*; for each (_local3 in m_data) { if (_local3.m_man == _arg1){ _local3.m_man = _arg2; }; }; } public function DeleteStartDialogs(){ var _local1:*; _local1 = 0; while (_local1 < m_data.length) { if (m_data[_local1].m_type == 1){ m_data.splice(_local1, 1); _local1 = 0; }; _local1++; }; _local1 = 0; while (_local1 < m_talks.length) { m_talks[_local1].m_man.m_talk = 0; m_talks[_local1].Delete(); m_talks.splice(_local1, 1); _local1 = 0; _local1++; }; } } }//package Objects
Section 135
//Treug_01 (Objects.Treug_01) package Objects { import flash.events.*; import flash.display.*; public dynamic class Treug_01 extends Treug_Base { public function Treug_01(){ m_density = 0.05; m_friction = 0.3; } } }//package Objects
Section 136
//Treug_Base (Objects.Treug_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public dynamic class Treug_Base extends MovieClip { public var m_phys_body;// = 0 public var m_density;// = 0.2 public var m_friction;// = 0.3 public var m_type;// = 5 public function Treug_Base(){ main.AddObject(this, m_type); } public function CreatePhysBody(){ var _local1:b2PolygonDef; var _local2:b2BodyDef; var _local3:b2Body; _local1 = new b2PolygonDef(); _local2 = new b2BodyDef(); _local1.density = m_density; _local1.friction = m_friction; _local1.restitution = 0.1; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((rotation / 180) * Math.PI); rotation = 0; _local1.vertexCount = 3; _local1.vertices[0].Set(((-(width) / 2) / main.m_physScale), ((height / 2) / main.m_physScale)); _local1.vertices[1].Set(0, ((-(height) / 2) / main.m_physScale)); _local1.vertices[2].Set(((width / 2) / main.m_physScale), ((height / 2) / main.m_physScale)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); m_phys_body = _local3; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = int(m_type); m_phys_body.m_userData.m_body = this; } public function Update(){ if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; } public function Destroy(){ main.m_world.DestroyBody(m_phys_body); } public function ExploseForce(_arg1, _arg2, _arg3=0){ var _local4:*; var _local5:*; if (m_phys_body){ _arg2 = (_arg2 * m_phys_body.GetMass()); _local5 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); if (_arg3 == 0){ _local4 = new b2Vec2(m_phys_body.GetPosition().x, m_phys_body.GetPosition().y); } else { _local4 = _arg3; }; m_phys_body.ApplyImpulse(_local5, _local4); }; } } }//package Objects
Section 137
//ZombikClip (Objects.ZombikClip) package Objects { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class ZombikClip extends MovieClip { var m_talks; var m_speed_talks; var t_time;// = 0 var m_n;// = 0 public function ZombikClip(){ m_talks = new Array(); m_speed_talks = new Array(); super(); this.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); this.addEventListener(Event.ENTER_FRAME, Update); this.TalkClip.visible = false; this.Selector.visible = false; m_talks.push("I have gnawed all my fingernails till my elbows already!"); m_talks.push("Aaaa! the player has come, we are doomed! "); m_talks.push("Do you like my flying eyebrows?"); m_talks.push("Move your head closer to the monitor, I want your brai... brush your hair"); m_talks.push("Zombies are green because of photosynthesis!"); m_talks.push("Press the 'play' button already, not me!"); m_talks.push("If you find grammar errors, don't be angry, zombies are uneducated!"); m_talks.push("I hate flash developers!"); m_talks.push("Don't do that!"); m_speed_talks.push("You've clicked on me all over already, stop it!"); m_speed_talks.push("I'm already all battered and tattered!"); m_speed_talks.push("don't click so fast, it tickles!"); } public function MouseDown(_arg1){ var _local2:*; if (this.Selector.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY, true)){ if ((getTimer() - t_time) < 400){ m_n++; if (m_n == 3){ m_n = 0; this.TalkClip.visible = true; _local2 = int((Math.random() * m_speed_talks.length)); this.TalkClip.TText.text = m_speed_talks[_local2]; }; } else { m_n = 0; this.TalkClip.visible = true; _local2 = int((Math.random() * m_talks.length)); this.TalkClip.TText.text = m_talks[_local2]; }; t_time = getTimer(); }; } public function Update(_arg1){ if ((((this.TalkClip.visible == true)) && (((getTimer() - t_time) > 4000)))){ this.TalkClip.visible = false; }; } } }//package Objects
Section 138
//ZombikFinal (Objects.ZombikFinal) package Objects { import flash.events.*; import flash.display.*; import flash.utils.*; public dynamic class ZombikFinal extends MovieClip { var m_talks; var t_time;// = 0 var m_n;// = 0 public function ZombikFinal(){ m_talks = new Array(); super(); this.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); this.FinalButton.BButton.addEventListener(MouseEvent.MOUSE_DOWN, MenuDown); this.addEventListener(Event.ENTER_FRAME, Update); this.TalkClip.visible = false; this.Selector.visible = false; this.FinalButton.visible = false; m_talks.push("What?... What!?... I'm trying to die!"); m_talks.push("Yes, guess it will take more time... "); m_talks.push("Don't click on me, click on the BigDino button"); m_talks.push("Yes, it's a good game portal "); m_talks.push("Am I dead already?"); m_talks.push("I guess not..."); m_talks.push("Hey, I know the secret! press on the BigDino button and I will tell you"); m_talks.push("Well, I tell you anyway, You are a ruthless zombie killer.."); m_talks.push("I'm just kidding, we all know that is not a secret!"); m_talks.push("But in the level 17, there is an easter egg"); m_talks.push("Guess I'm still not dead.."); m_talks.push("May be I should try to die after a dinner?"); m_talks.push("Do you have some brains?"); m_talks.push("No? Than I won't tell you anything"); m_talks.push("..."); m_talks.push("No."); m_talks.push("No and No."); m_talks.push("Well, if you scratch my belly.."); m_talks.push("well, ok, better go and click on Zombie in the main menu"); m_talks.push("Don't you see I have a job to do here"); m_talks.push("Make love, not flash games"); m_talks.push("Stop clicking on me, click on main menu button already"); m_talks.push("Seriously, there is nothing left here, click BigDino button for more awesome games and thanks for playing :)"); } public function MenuDown(_arg1){ this.removeEventListener(Event.ENTER_FRAME, Update); main.m_main.gotoAndStop("Menu"); } public function MouseDown(_arg1){ var _local2:*; if (this.Selector.hitTestPoint(main.m_main.mouseX, main.m_main.mouseY, true)){ this.TalkClip.visible = true; _local2 = m_n; m_n++; if (_local2 >= m_talks.length){ _local2 = 0; m_n = 0; }; if (_local2 == (m_talks.length - 1)){ if (this.FinalButton.visible == false){ this.FinalButton.visible = true; this.FinalButton.play(); }; }; this.TalkClip.TText.text = m_talks[_local2]; t_time = getTimer(); }; } public function Update(_arg1){ if ((((this.TalkClip.visible == true)) && (((getTimer() - t_time) > 4000)))){ this.TalkClip.visible = false; }; } } }//package Objects
Section 139
//base_stage (Stages.base_stage) package Stages { import flash.display.*; public dynamic class base_stage extends MovieClip { } }//package Stages
Section 140
//stage_01 (Stages.stage_01) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_01 extends base_stage { var loaded;// = false public function stage_01(){ main.m_talks.AddTalkStart(this.Zombie_01, "Damn! Another zombie game again... ", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "if i could get a dollar... ", 6000, 3000); main.m_talks.AddTalkFinish(this.Zombie_01, "Grenades and Zombies? That is rough even for a flash game!", 0); this.GrenPlace.visible = false; } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80, 90, 80, 180, 80, 270, 80); loaded = true; main.m_objects_panel.loaded = true; }; if (main.m_objects_panel.m_selected){ this.GrenPlace.visible = true; } else { this.GrenPlace.visible = false; }; } } }//package Stages
Section 141
//stage_02 (Stages.stage_02) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_02 extends base_stage { var loaded;// = false public function stage_02(){ main.m_talks.AddTalkStart(this.Zombie_01, "The Pushkin's poetry impressed me!", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Especially i like the theme of love in his poem", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_03, "Damn, The player is watching us! ", 7500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "Brainz!", 10500, 2000); main.m_talks.AddTalkStart(this.Zombie_02, "Brainzz!", 11000, 2000); main.m_talks.AddTalkStart(this.Zombie_03, "Brainz!!!", 11500, 2000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80, 90, 80); main.m_objects_panel.AddGrenade(0, 80, 90, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 142
//stage_03 (Stages.stage_03) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_03 extends base_stage { var loaded;// = false public function stage_03(){ main.m_talks.AddTalkStart(this.Zombie_01, "Red barrels again? Oh, if I could get a dollar...", 3500, 4000); main.m_talks.AddTalkFinish(this.Zombie_01, "That is worse than Gordon Freeman's crowbar", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 143
//stage_04 (Stages.stage_04) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_04 extends base_stage { var loaded;// = false public function stage_04(){ main.m_talks.AddTalkStart(this.Zombie_01, "Zombo-party!", 4000, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Zombies rules!", 7000, 3000); main.m_talks.AddTalkStart(this.Zombie_03, "Evacuate the dance floor!", 10000, 3000); main.m_talks.AddTalkStart(this.Zombie_04, "Let's blow this party!", 13000, 3000); main.m_talks.AddTalkFinish(this.Zombie_03, "explosive party!", 1500); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 144
//stage_05 (Stages.stage_05) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; import flash.utils.*; public dynamic class stage_05 extends base_stage { var loaded;// = false var t; var b_action;// = false public function stage_05(){ t = getTimer(); main.m_talks.AddTalkStart(this.Zombie_01, "Hey, How I can became a zombo-rock star?", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Simple! Take the old pop song...", 5000, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "And change the word 'baby' into the word 'brainz' ", 8500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "hmm...", 12000, 2000); main.m_talks.AddTalkStart(this.Zombie_01, "I love you, brainz! And if it’s quite alright", 15000, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "I need you, brainz, To warm the darkest night.", 18100, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "platinum album is yours!", 21500, 3000); main.m_talks.AddTalkFinish(this.Zombie_01, "Zombie will back!", 0); main.over_pause = 22; } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); loaded = true; main.m_objects_panel.loaded = true; }; if ((((b_action == false)) && (((getTimer() - t) > 14500)))){ if (main.b_music){ main.SetSoundPause(8); main.m_main.m_uniq_music = main.m_main.LoveMusic.play(0, 1); }; b_action = true; }; } } }//package Stages
Section 145
//stage_06 (Stages.stage_06) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; import flash.utils.*; public dynamic class stage_06 extends base_stage { var loaded;// = false var t; var b_action;// = false public function stage_06(){ t = getTimer(); main.m_talks.AddTalkStart(this.Zombie_01, "Hey, That joke from a previous level...", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "what about it?", 5000, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "it's already has been in the simpsons ", 8500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Heh, Everything has already been in the simpsons", 12000, 2000); main.m_talks.AddTalkStart(this.Zombie_01, "No way! We haven't been in the simpsons!", 15000, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "D'ooooh!!!", 23000, 3000); main.m_talks.AddTalkFinish(this.Zombie_01, "Once you go dead, you never go back", 0); main.m_talks.AddTalkFinish(this.Zombie_02, "Guess this is something new", 3000); main.over_pause = 28; } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 100, 90, 100, 180, 100, 270, 100); loaded = true; main.m_objects_panel.loaded = true; }; if ((((b_action == false)) && (((getTimer() - t) > 18600)))){ if (main.b_music){ main.SetSoundPause(7); main.m_main.m_uniq_music = main.m_main.SimpsonsMusic.play(0, 1); }; b_action = true; }; } } }//package Stages
Section 146
//stage_07 (Stages.stage_07) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_07 extends base_stage { var loaded;// = false public function stage_07(){ main.m_talks.AddTalkStart(this.Zombie_01, " It's a stereotype that Zombies are your enemies!", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, " We just love to eat your brainz", 5000, 3000); main.m_talks.AddTalkFinish(this.Zombie_01, "Zombies will be back!", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 147
//stage_08 (Stages.stage_08) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_08 extends base_stage { var loaded;// = false public function stage_08(){ main.m_talks.AddTalkStart(this.Zombie_01, "Brains! ", 1500, 2000); main.m_talks.AddTalkStart(this.Zombie_02, "Brainzz! ", 3500, 2000); main.m_talks.AddTalkStart(this.Zombie_01, "Braainzzz! ", 5500, 2000); main.m_talks.AddTalkStart(this.Zombie_02, "Breeyyndzzz! ", 7500, 2000); main.m_talks.AddTalkStart(this.Zombie_01, "It's stupid, I've graduated zombo-college", 10000, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "And now I act as an unintellectual zombie in this dumb flash game", 14000, 5000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 148
//stage_09 (Stages.stage_09) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_09 extends base_stage { var loaded;// = false public function stage_09(){ main.m_talks.AddTalkStart(this.Zombie_01, "Humans are intolerant to zombies", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Yes, but we actually love to eat their brains", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "And what? some of their girlfriends love to eat their brains too", 7500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "Hmm, maybe some of their girlfriends are zombies?", 11500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "Yes, the ones who watch reality shows", 15500, 4000); main.m_talks.AddTalkFinish(this.Zombie_01, "I feel like I'm falling apart", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 80, 90, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 149
//stage_10 (Stages.stage_10) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_10 extends base_stage { var loaded;// = false public function stage_10(){ main.m_talks.AddTalkStart(this.Zombie_01, "this game is ruthless and intolerant! ", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "and where are the brainz, developers promised us? ", 5000, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 150
//stage_11 (Stages.stage_11) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_11 extends base_stage { var loaded;// = false public function stage_11(){ main.m_talks.AddTalkStart(this.Zombie_01, "Why humans hate us so much? ", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "May be they are afraid their brains could be eaten", 5000, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "well, right but that means... ", 9000, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "the developers of this game have nothing to worry about ", 12000, 4500); main.m_talks.AddTalkFinish(this.Zombie_01, "Ouch! I wanted to become a spacezombie :(", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80, 90, 80); main.m_objects_panel.AddGrenade(0, 80, 90, 80); main.m_objects_panel.AddGrenade(0, 80, 180, 80); main.m_objects_panel.AddGrenade(0, 80, 90, 80, 180, 80, 270, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 151
//stage_12 (Stages.stage_12) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_12 extends base_stage { var loaded;// = false public function stage_12(){ main.m_talks.AddTalkStart(this.Zombie_02, "Are you ready to become a SpaceZombie? ", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "Nooooooo! ", 5500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 90); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 152
//stage_13 (Stages.stage_13) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_13 extends base_stage { var loaded;// = false public function stage_13(){ main.m_talks.AddTalkStart(this.Zombie_01, "Zombies!", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "I'm so drunk!", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_03, "Zombo-party! ", 7500, 3000); main.m_talks.AddTalkFinish(this.Zombie_04, "What am I doing here?", 2000); main.m_talks.AddTalkFinish(this.Zombie_03, "I guess alcohol is really bad for my health", 0); } public function Update(){ if (!loaded){ loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 153
//stage_14 (Stages.stage_14) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_14 extends base_stage { var loaded;// = false public function stage_14(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey! Will this game get badges on Kong? ", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Don't think so, the rating is too low ", 5000, 4000); main.m_talks.AddTalkStart(this.Zombie_03, "Hey, player! give this game five stars! We want badges! ", 9000, 4500); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 154
//stage_15 (Stages.stage_15) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_15 extends base_stage { var loaded;// = false public function stage_15(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey, have you played 'Zombotron' ", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Yes, it's another cruel zombie-killing game!", 4500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "Yes, Anton Karlov is good at making awesome zombie-slashers", 8500, 4000); main.m_talks.AddTalkStart(this.Zombie_03, "I gave it five stars", 12500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "You what?", 15500, 2000); main.m_talks.AddTalkStart(this.Zombie_01, "Me too ", 17500, 2000); main.m_talks.AddTalkStart(this.Zombie_02, "Well actually... I've rated it five too", 19500, 3000); main.m_talks.AddTalkFinish(this.Zombie_01, "And I'm waiting for a sequel", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 80, 180, 80); main.m_objects_panel.AddGrenade(0, 80, 180, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 155
//stage_16 (Stages.stage_16) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_16 extends base_stage { var loaded;// = false public function stage_16(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey, here is another joke... ", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "*BANNED* the joke is not polite correct *CENSORED*", 4500, 5000); main.m_talks.AddTalkStart(this.Zombie_02, "Ha-Ha-Ha.. That is the most funny joke I ever heard! Ha-Ha-Ha!)) ", 9500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 156
//stage_17 (Stages.stage_17) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_17 extends base_stage { var loaded;// = false public function stage_17(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey player, we are good Zombies! I swear", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Yes, we are vegeterin-zombies", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_03, "Yes, we eat only Bra... mmm...bread, yes I mean - Bread ", 7500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "Yes, we are good, I can help you wash your head", 11500, 4000); main.m_talks.AddTalkFinish(this.Zombie_01, "I guess we blew our cover", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 157
//stage_18 (Stages.stage_18) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_18 extends base_stage { var loaded;// = false public function stage_18(){ main.m_talks.AddTalkStart(this.Zombie_01, "Gee, Brain, what do you want to do next level?", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "The same thing we do every level, Pinky, try to take over the world!", 5500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 0); main.m_objects_panel.AddGrenade(0, 150, 180, 150); main.m_objects_panel.AddGrenade(0, 0); main.m_objects_panel.AddGrenade(0, 150, 180, 150); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 158
//stage_19 (Stages.stage_19) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_19 extends base_stage { var loaded;// = false public function stage_19(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey guys, there is no brains here, developers have cheated us", 1500, 4500); main.m_talks.AddTalkStart(this.Zombie_02, "Yes, we should get out of here", 6000, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "If we want brains we should...", 9000, 4000); main.m_talks.AddTalkStart(this.Zombie_02, " ...open a barbershop!", 13000, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "Ohh yes!", 17000, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 159
//stage_20 (Stages.stage_20) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_20 extends base_stage { var loaded;// = false public function stage_20(){ main.m_talks.AddTalkStart(this.Zombie_01, "Previous level was a massacre!", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Are you alright guys?", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_03, "Yes, we are dead alright", 7500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); main.m_objects_panel.AddGrenade(0, 80); main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 160
//stage_21 (Stages.stage_21) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_21 extends base_stage { var loaded;// = false public function stage_21(){ main.m_talks.AddTalkStart(this.Zombie_01, "Are you still playing the game?", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Probably you are really hate zombies", 4500, 3000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 161
//stage_22 (Stages.stage_22) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_22 extends base_stage { var loaded;// = false public function stage_22(){ main.m_talks.AddTalkStart(this.Zombie_01, "Brains brains brains, brains brains! Brains, brains... brains", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Brains?", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "Brains, brains brains!", 7500, 3000); main.m_talks.AddTalkStart(this.Zombie_03, "Stop talking zombie language!", 10500, 3000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 162
//stage_23 (Stages.stage_23) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_23 extends base_stage { var loaded;// = false public function stage_23(){ main.m_talks.AddTalkStart(this.Zombie_01, "Why are you still playing?", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "There is not even a final movie in the end", 4500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "Yes, developers even forgot about easter eggs ", 7500, 3000); main.m_talks.AddTalkFinish(this.Zombie_03, "Admit it, you love killing zombies!", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 150, 90, 150); main.m_objects_panel.AddGrenade(0, 150, 90, 150); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 163
//stage_24 (Stages.stage_24) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_24 extends base_stage { var loaded;// = false public function stage_24(){ main.m_talks.AddTalkStart(this.Zombie_01, "When will the Zombie-President finally be elected?", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "Hasn't he already been elected?", 5500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); main.m_objects_panel.AddGrenade(0, 100, 70, 100); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 164
//stage_25 (Stages.stage_25) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_25 extends base_stage { var loaded;// = false public function stage_25(){ main.m_talks.AddTalkStart(this.Zombie_01, "Wow, a vehicle", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_01, "Does anyone has a driver's license?", 4500, 3000); this.Rotor1.m_speed = -1; this.Rotor2.m_speed = -1; } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 165
//stage_26 (Stages.stage_26) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_26 extends base_stage { var loaded;// = false public function stage_26(){ main.m_talks.AddTalkStart(this.Zombie_01, "Guess it's the hardest level in the game", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "Bet you can't do it!", 5500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 0); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 166
//stage_27 (Stages.stage_27) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_27 extends base_stage { var loaded;// = false public function stage_27(){ main.m_talks.AddTalkStart(this.Zombie_01, "The player is tougher than we thought", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "He's gonna kill us all! We are doomed!!!", 5500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 150); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 167
//stage_28 (Stages.stage_28) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_28 extends base_stage { var loaded;// = false public function stage_28(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey guys, I saw 'twilights' and I like it!", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "I don't know you", 5500, 2500); main.m_talks.AddTalkStart(this.Zombie_03, "Kill him already!", 8000, 3000); main.m_talks.AddTalkFinish(this.Zombie_03, "Good job!", 0); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 180, 180, 180); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 168
//stage_29 (Stages.stage_29) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_29 extends base_stage { var loaded;// = false public function stage_29(){ main.m_talks.AddTalkStart(this.Zombie_01, "But why there are so much zombie games recently?", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "I guess it's a conspiracy of the developers!", 5500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "I bet it is!", 9500, 3000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 169
//stage_30 (Stages.stage_30) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_30 extends base_stage { var loaded;// = false public function stage_30(){ main.m_talks.AddTalkStart(this.Zombie_01, "I better play 'Skyrim' ", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "At least you can summon zombies there!", 5500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "But I still like 'Morrowind' more", 9500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 150); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 170
//stage_31 (Stages.stage_31) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_31 extends base_stage { var loaded;// = false public function stage_31(){ main.m_talks.AddTalkStart(this.Zombie_01, "Have you noticed? There are no black zombies in the game ", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "Damn, racists!", 5500, 4000); main.m_talks.AddTalkStart(this.Zombie_03, "Calm down, there are no white zombies either", 9500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 0); main.m_objects_panel.AddGrenade(0, 0); main.m_objects_panel.AddGrenade(0, 0); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 171
//stage_32 (Stages.stage_32) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_32 extends base_stage { var loaded;// = false public function stage_32(){ main.m_talks.AddTalkStart(this.Zombie_01, "Do you remember me? you've pushed me in the abyss in the 5th level ", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "He won't remember, the zombies are all the same for humans", 5500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "Oh, yeah, right", 9500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 80); main.m_objects_panel.AddGrenade(0, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 172
//stage_33 (Stages.stage_33) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_33 extends base_stage { var loaded;// = false public function stage_33(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey man, you won't believe it, I'm all green! ", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "Well, actually all zombies are green", 5500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "What? Am I also a zombie?", 9500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 0); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 173
//stage_34 (Stages.stage_34) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_34 extends base_stage { var loaded;// = false public function stage_34(){ main.m_talks.AddTalkStart(this.Zombie_01, "Hey! Why do humans always reject my dinner invitation?", 1500, 3000); main.m_talks.AddTalkStart(this.Zombie_02, "Next time, try to tell them you're a vegetarian.. he he", 5000, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(); main.m_objects_panel.AddGrenade(0, 80, 180, 80); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 174
//stage_35 (Stages.stage_35) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Objects.*; public dynamic class stage_35 extends base_stage { var loaded;// = false public function stage_35(){ main.m_talks.AddTalkStart(this.Zombie_01, "You've done it man! You've completed another intolerant zombie game!", 1500, 4000); main.m_talks.AddTalkStart(this.Zombie_02, "With players like you all zombies are doomed!", 5500, 4000); main.m_talks.AddTalkStart(this.Zombie_01, "You are like Gordon Freeman, but with the grenades", 9500, 4000); } public function Update(){ if (!loaded){ main.m_objects_panel.AddGrenade(0, 0); main.m_objects_panel.AddGrenade(0, 0); main.m_objects_panel.AddGrenade(0, 0); loaded = true; main.m_objects_panel.loaded = true; }; } } }//package Stages
Section 175
//_33level_162 (ZomBlast_fla._33level_162) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class _33level_162 extends MovieClip { public function _33level_162(){ addFrameScript(24, frame25); } function frame25(){ stop(); } } }//package ZomBlast_fla
Section 176
//ag_intro_mc_212 (ZomBlast_fla.ag_intro_mc_212) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class ag_intro_mc_212 extends MovieClip { public function ag_intro_mc_212(){ addFrameScript(0, frame1, 224, frame225); } function frame1(){ gotoAndPlay(2); } function frame225(){ main.m_main.gotoAndStop("Menu"); } } }//package ZomBlast_fla
Section 177
//Blood_33 (ZomBlast_fla.Blood_33) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Blood_33 extends MovieClip { public function Blood_33(){ addFrameScript(0, frame1, 14, frame15, 31, frame32); } function frame1(){ stop(); } function frame15(){ stop(); } function frame32(){ stop(); } } }//package ZomBlast_fla
Section 178
//Blood_6 (ZomBlast_fla.Blood_6) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Blood_6 extends MovieClip { public function Blood_6(){ addFrameScript(0, frame1, 14, frame15, 31, frame32); } function frame1(){ stop(); } function frame15(){ stop(); } function frame32(){ stop(); } } }//package ZomBlast_fla
Section 179
//BuhSmall_335 (ZomBlast_fla.BuhSmall_335) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class BuhSmall_335 extends MovieClip { public function BuhSmall_335(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package ZomBlast_fla
Section 180
//CreditsButtonAnim_240 (ZomBlast_fla.CreditsButtonAnim_240) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class CreditsButtonAnim_240 extends MovieClip { public function CreditsButtonAnim_240(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; } } }//package ZomBlast_fla
Section 181
//ExploseRadius_73 (ZomBlast_fla.ExploseRadius_73) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class ExploseRadius_73 extends MovieClip { public function ExploseRadius_73(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; } } }//package ZomBlast_fla
Section 182
//FinalButtonBack_270 (ZomBlast_fla.FinalButtonBack_270) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class FinalButtonBack_270 extends MovieClip { public var BButton:BackButton; public function FinalButtonBack_270(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package ZomBlast_fla
Section 183
//logo_newstage_215 (ZomBlast_fla.logo_newstage_215) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class logo_newstage_215 extends MovieClip { public function logo_newstage_215(){ addFrameScript(100, frame101); } function frame101(){ main.m_main.gotoAndStop("Menu"); } } }//package ZomBlast_fla
Section 184
//Man1_Neighbour_45 (ZomBlast_fla.Man1_Neighbour_45) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man1_Neighbour_45 extends MovieClip { public function Man1_Neighbour_45(){ addFrameScript(61, frame62); } function frame62(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 185
//Man1_Over_43 (ZomBlast_fla.Man1_Over_43) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man1_Over_43 extends MovieClip { public function Man1_Over_43(){ addFrameScript(28, frame29); } function frame29(){ stop(); } } }//package ZomBlast_fla
Section 186
//Man1_Static_31 (ZomBlast_fla.Man1_Static_31) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man1_Static_31 extends MovieClip { public function Man1_Static_31(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 187
//Man1_Static2_40 (ZomBlast_fla.Man1_Static2_40) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man1_Static2_40 extends MovieClip { public function Man1_Static2_40(){ addFrameScript(79, frame80); } function frame80(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 188
//Man1_Static3_41 (ZomBlast_fla.Man1_Static3_41) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man1_Static3_41 extends MovieClip { public function Man1_Static3_41(){ addFrameScript(79, frame80); } function frame80(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 189
//Man1_Static4_42 (ZomBlast_fla.Man1_Static4_42) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man1_Static4_42 extends MovieClip { public function Man1_Static4_42(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 190
//Man2_Neighbour_119 (ZomBlast_fla.Man2_Neighbour_119) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man2_Neighbour_119 extends MovieClip { public function Man2_Neighbour_119(){ addFrameScript(61, frame62); } function frame62(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 191
//Man2_Over_118 (ZomBlast_fla.Man2_Over_118) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man2_Over_118 extends MovieClip { public function Man2_Over_118(){ addFrameScript(28, frame29); } function frame29(){ stop(); } } }//package ZomBlast_fla
Section 192
//Man2_Static_113 (ZomBlast_fla.Man2_Static_113) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man2_Static_113 extends MovieClip { public function Man2_Static_113(){ addFrameScript(54, frame55); } function frame55(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 193
//Man2_Static2_115 (ZomBlast_fla.Man2_Static2_115) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man2_Static2_115 extends MovieClip { public function Man2_Static2_115(){ addFrameScript(50, frame51); } function frame51(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 194
//Man2_Static3_116 (ZomBlast_fla.Man2_Static3_116) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man2_Static3_116 extends MovieClip { public function Man2_Static3_116(){ addFrameScript(17, frame18); } function frame18(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 195
//Man2_Static4_117 (ZomBlast_fla.Man2_Static4_117) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man2_Static4_117 extends MovieClip { public function Man2_Static4_117(){ addFrameScript(36, frame37); } function frame37(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 196
//Man3_Static_79 (ZomBlast_fla.Man3_Static_79) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man3_Static_79 extends MovieClip { public function Man3_Static_79(){ addFrameScript(656, frame657); } function frame657(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 197
//Man3_Static4_87 (ZomBlast_fla.Man3_Static4_87) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man3_Static4_87 extends MovieClip { public function Man3_Static4_87(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 198
//Man4_Static_126 (ZomBlast_fla.Man4_Static_126) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man4_Static_126 extends MovieClip { public function Man4_Static_126(){ addFrameScript(803, frame804); } function frame804(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 199
//Man6_Static4_174 (ZomBlast_fla.Man6_Static4_174) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man6_Static4_174 extends MovieClip { public function Man6_Static4_174(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 200
//Man7_Neighbour_62 (ZomBlast_fla.Man7_Neighbour_62) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man7_Neighbour_62 extends MovieClip { public function Man7_Neighbour_62(){ addFrameScript(61, frame62); } function frame62(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 201
//Man7_Over_61 (ZomBlast_fla.Man7_Over_61) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man7_Over_61 extends MovieClip { public function Man7_Over_61(){ addFrameScript(28, frame29); } function frame29(){ stop(); } } }//package ZomBlast_fla
Section 202
//Man7_Static_51 (ZomBlast_fla.Man7_Static_51) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man7_Static_51 extends MovieClip { public function Man7_Static_51(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 203
//Man7_Static2_58 (ZomBlast_fla.Man7_Static2_58) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man7_Static2_58 extends MovieClip { public function Man7_Static2_58(){ addFrameScript(79, frame80); } function frame80(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 204
//Man7_Static3_59 (ZomBlast_fla.Man7_Static3_59) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man7_Static3_59 extends MovieClip { public function Man7_Static3_59(){ addFrameScript(79, frame80); } function frame80(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 205
//Man7_Static4_60 (ZomBlast_fla.Man7_Static4_60) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man7_Static4_60 extends MovieClip { public function Man7_Static4_60(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 206
//Man8_Neighbour_296 (ZomBlast_fla.Man8_Neighbour_296) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man8_Neighbour_296 extends MovieClip { public function Man8_Neighbour_296(){ addFrameScript(61, frame62); } function frame62(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 207
//Man8_Over_295 (ZomBlast_fla.Man8_Over_295) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man8_Over_295 extends MovieClip { public function Man8_Over_295(){ addFrameScript(28, frame29); } function frame29(){ stop(); } } }//package ZomBlast_fla
Section 208
//Man8_Static_285 (ZomBlast_fla.Man8_Static_285) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man8_Static_285 extends MovieClip { public function Man8_Static_285(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 209
//Man8_Static2_292 (ZomBlast_fla.Man8_Static2_292) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man8_Static2_292 extends MovieClip { public function Man8_Static2_292(){ addFrameScript(79, frame80); } function frame80(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 210
//Man8_Static3_293 (ZomBlast_fla.Man8_Static3_293) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man8_Static3_293 extends MovieClip { public function Man8_Static3_293(){ addFrameScript(79, frame80); } function frame80(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 211
//Man8_Static4_294 (ZomBlast_fla.Man8_Static4_294) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Man8_Static4_294 extends MovieClip { public function Man8_Static4_294(){ addFrameScript(230, frame231); } function frame231(){ if (parent){ parent.ChangeStatic(); }; } } }//package ZomBlast_fla
Section 212
//next_268 (ZomBlast_fla.next_268) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class next_268 extends MovieClip { public function next_268(){ addFrameScript(0, frame1); } function frame1(){ this.mouseEnabled = false; } } }//package ZomBlast_fla
Section 213
//Selector_278 (ZomBlast_fla.Selector_278) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Selector_278 extends MovieClip { public function Selector_278(){ addFrameScript(0, frame1); } function frame1(){ visible = false; } } }//package ZomBlast_fla
Section 214
//Selector_Quad_95 (ZomBlast_fla.Selector_Quad_95) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Selector_Quad_95 extends MovieClip { public function Selector_Quad_95(){ addFrameScript(0, frame1); } function frame1(){ visible = false; } } }//package ZomBlast_fla
Section 215
//Stage1_bonus1_69 (ZomBlast_fla.Stage1_bonus1_69) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Stage1_bonus1_69 extends MovieClip { public function Stage1_bonus1_69(){ addFrameScript(333, frame334); } function frame334(){ stop(); } } }//package ZomBlast_fla
Section 216
//Stage2_tutorial_90 (ZomBlast_fla.Stage2_tutorial_90) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Stage2_tutorial_90 extends MovieClip { public function Stage2_tutorial_90(){ addFrameScript(438, frame439); } function frame439(){ stop(); } } }//package ZomBlast_fla
Section 217
//Stage3_tutorial_150 (ZomBlast_fla.Stage3_tutorial_150) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Stage3_tutorial_150 extends MovieClip { public function Stage3_tutorial_150(){ addFrameScript(71, frame72); } function frame72(){ stop(); } } }//package ZomBlast_fla
Section 218
//Stage4_tutorial_120 (ZomBlast_fla.Stage4_tutorial_120) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Stage4_tutorial_120 extends MovieClip { public function Stage4_tutorial_120(){ addFrameScript(71, frame72); } function frame72(){ stop(); } } }//package ZomBlast_fla
Section 219
//Stage5_tutorial_88 (ZomBlast_fla.Stage5_tutorial_88) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Stage5_tutorial_88 extends MovieClip { public function Stage5_tutorial_88(){ addFrameScript(701, frame702); } function frame702(){ stop(); } } }//package ZomBlast_fla
Section 220
//theZombies2_122 (ZomBlast_fla.theZombies2_122) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class theZombies2_122 extends MovieClip { public function theZombies2_122(){ addFrameScript(682, frame683); } function frame683(){ stop(); } } }//package ZomBlast_fla
Section 221
//title_anim_10 (ZomBlast_fla.title_anim_10) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class title_anim_10 extends MovieClip { public function title_anim_10(){ addFrameScript(55, frame56); } function frame56(){ stop(); } } }//package ZomBlast_fla
Section 222
//Tween10_249 (ZomBlast_fla.Tween10_249) package ZomBlast_fla { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Tween10_249 extends MovieClip { public function Tween10_249(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; } } }//package ZomBlast_fla
Section 223
//BackButton (BackButton) package { import gui.*; public dynamic class BackButton extends Base_Button { } }//package
Section 224
//Base_Body (Base_Body) package { import flash.display.*; public dynamic class Base_Body extends MovieClip { } }//package
Section 225
//Base_Hand1 (Base_Hand1) package { import flash.display.*; public dynamic class Base_Hand1 extends MovieClip { } }//package
Section 226
//Base_Hand2 (Base_Hand2) package { import flash.display.*; public dynamic class Base_Hand2 extends MovieClip { } }//package
Section 227
//Base_Head (Base_Head) package { import flash.display.*; public dynamic class Base_Head extends MovieClip { } }//package
Section 228
//Base_Leg1 (Base_Leg1) package { import flash.display.*; public dynamic class Base_Leg1 extends MovieClip { } }//package
Section 229
//Base_Leg2 (Base_Leg2) package { import flash.display.*; public dynamic class Base_Leg2 extends MovieClip { } }//package
Section 230
//Box_10 (Box_10) package { import Objects.*; public dynamic class Box_10 extends Box_01 { } }//package
Section 231
//BrakeClip (BrakeClip) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class BrakeClip extends MovieClip { public function BrakeClip(){ addFrameScript(19, frame20); } function frame20(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 232
//BreakingSound (BreakingSound) package { import flash.media.*; public dynamic class BreakingSound extends Sound { } }//package
Section 233
//BuhPart (BuhPart) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class BuhPart extends MovieClip { public function BuhPart(){ addFrameScript(24, frame25); } function frame25(){ stop(); } } }//package
Section 234
//Bum_Sound (Bum_Sound) package { import flash.media.*; public dynamic class Bum_Sound extends Sound { } }//package
Section 235
//Bum2_Sound (Bum2_Sound) package { import flash.media.*; public dynamic class Bum2_Sound extends Sound { } }//package
Section 236
//Bum3_Sound (Bum3_Sound) package { import flash.media.*; public dynamic class Bum3_Sound extends Sound { } }//package
Section 237
//Bum4_Sound (Bum4_Sound) package { import flash.media.*; public dynamic class Bum4_Sound extends Sound { } }//package
Section 238
//Bum5_Sound (Bum5_Sound) package { import flash.media.*; public dynamic class Bum5_Sound extends Sound { } }//package
Section 239
//Bum6_Sound (Bum6_Sound) package { import flash.media.*; public dynamic class Bum6_Sound extends Sound { } }//package
Section 240
//Button_Over (Button_Over) package { import flash.media.*; public dynamic class Button_Over extends Sound { } }//package
Section 241
//Car_Crush (Car_Crush) package { import flash.media.*; public dynamic class Car_Crush extends Sound { } }//package
Section 242
//ClickClip (ClickClip) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class ClickClip extends MovieClip { public function ClickClip(){ addFrameScript(4, frame5); } function frame5(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 243
//CrackSound1 (CrackSound1) package { import flash.media.*; public dynamic class CrackSound1 extends Sound { } }//package
Section 244
//CrackSound2 (CrackSound2) package { import flash.media.*; public dynamic class CrackSound2 extends Sound { } }//package
Section 245
//CrackSound3 (CrackSound3) package { import flash.media.*; public dynamic class CrackSound3 extends Sound { } }//package
Section 246
//Explosion (Explosion) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Explosion extends MovieClip { public function Explosion(){ addFrameScript(14, frame15); } function frame15(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 247
//Explosion2Sound (Explosion2Sound) package { import flash.media.*; public dynamic class Explosion2Sound extends Sound { } }//package
Section 248
//ExplosionSound (ExplosionSound) package { import flash.media.*; public dynamic class ExplosionSound extends Sound { } }//package
Section 249
//Fire_Start (Fire_Start) package { import flash.media.*; public dynamic class Fire_Start extends Sound { } }//package
Section 250
//Fire_Start_Small (Fire_Start_Small) package { import flash.media.*; public dynamic class Fire_Start_Small extends Sound { } }//package
Section 251
//FireBody (FireBody) package { import flash.display.*; public dynamic class FireBody extends MovieClip { } }//package
Section 252
//Frag_Button (Frag_Button) package { import gui.*; public dynamic class Frag_Button extends Base_Button { } }//package
Section 253
//GasBigSound (GasBigSound) package { import flash.media.*; public dynamic class GasBigSound extends Sound { } }//package
Section 254
//GasSmallSound (GasSmallSound) package { import flash.media.*; public dynamic class GasSmallSound extends Sound { } }//package
Section 255
//GoldSound (GoldSound) package { import flash.media.*; public dynamic class GoldSound extends Sound { } }//package
Section 256
//GreenBarClip (GreenBarClip) package { import flash.display.*; public dynamic class GreenBarClip extends MovieClip { } }//package
Section 257
//GrenadePart (GrenadePart) package { import flash.display.*; public dynamic class GrenadePart extends MovieClip { } }//package
Section 258
//LevelGoodClip (LevelGoodClip) package { import flash.display.*; public dynamic class LevelGoodClip extends MovieClip { } }//package
Section 259
//LevelStartClip (LevelStartClip) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class LevelStartClip extends MovieClip { public function LevelStartClip(){ addFrameScript(22, frame23); } function frame23(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 260
//LogoMusic (LogoMusic) package { import flash.media.*; public dynamic class LogoMusic extends Sound { } }//package
Section 261
//LoveMusic (LoveMusic) package { import flash.media.*; public dynamic class LoveMusic extends Sound { } }//package
Section 262
//main (main) package { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import Objects.*; import gui.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.geom.*; import flash.ui.*; public dynamic class main extends MovieClip { public var transform2:SoundTransform; public var transform3:SoundTransform; public static var b_sound = true; public static var b_music = true; public static var b_pause = false; public static var m_main; public static var m_objects = new Array(); public static var m_stage = 0; public static var m_sprite:Sprite; public static var m_world:b2World; public static var m_iterations:int = 10; public static var m_timeStep:Number = 0.0333333333333333; public static var m_physScale:Number = 30; public static var m_stage_name; public static var m_stage_number; public static var b_finish = false; public static var t_timer = 0; public static var b_first = false; public static var m_clicks = 0; public static var b_loose = false; public static var b_menu_up = false; public static var LevelNumberClip = 0; public static var mySO:SharedObject = SharedObject.getLocal("Zomblast_5"); public static var m_fire_controll; public static var m_scores_data; public static var m_WalkClip = 0; public static var g_num = -5; public static var myContactListener = 0; public static var m_force_coeff = 0; public static var m_bonus_y = 0; public static var m_scores = 0; public static var m_counter = 0; public static var b_level_loaded = false; public static var b_locked = false; public static var m_level_menu_px = 640; public static var m_level_menu_py = 0; public static var b_mochi = false; public static var b_kong = false; public static var kongregate = 0; public static var m_objects_panel = 0; public static var m_gameGUI = 0; public static var shake_x = 0; public static var shake_y = 0; public static var shake_num = 0; public static var m_talks = 0; public static var m_bird_time = 0; public static var over_pause = 0; public static var button_rotate = 0; public static var m_sound_pause = 0; public static var b_test = false; public function main(){ var _local1:*; super(); addFrameScript(0, frame1, 46, frame47, 64, frame65, 74, frame75, 94, frame95); addEventListener(Event.ENTER_FRAME, Update); stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); m_main = this; m_scores_data = new LevelScores(); m_sprite = new Sprite(); addChild(m_sprite); InitPhysics(); if (!mySO.data.Saves){ if (b_mochi){ MochiBot.track(main.m_main, "1b0ab10d"); }; mySO.data.Saves = new Object(); mySO.data.Saves.m_scores = new Array(); mySO.data.Saves.m_levels = new Array(); _local1 = 0; while (_local1 < 35) { mySO.data.Saves.m_levels.push(0); mySO.data.Saves.m_scores.push(0); _local1++; }; mySO.data.Saves.m_levels[0] = 1; mySO.data.Saves.b_uniq_bubble = false; mySO.data.Saves.b_uniq_lara = false; mySO.data.Saves.b_01 = false; mySO.data.Saves.b_05 = false; mySO.data.Saves.b_10 = false; mySO.data.Saves.b_30 = false; mySO.data.Saves.b_music = main.b_music; mySO.data.Saves.b_sound = main.b_sound; mySO.flush(); } else { main.b_music = mySO.data.Saves.b_music; main.b_sound = mySO.data.Saves.b_sound; }; if (!isUrl(["armorgames.com"])){ b_locked = true; }; m_fire_controll = new FireControll(); m_talks = new TalkManager(); } public function InitPhysics(){ var _local1:b2AABB = new b2AABB(); _local1.lowerBound.Set(-1000, -1000); _local1.upperBound.Set(1000, 1000); var _local2:b2Vec2 = new b2Vec2(0, 10); var _local3:Boolean; m_world = new b2World(_local1, _local2, _local3); var _local4:b2DebugDraw = new b2DebugDraw(); _local4.m_sprite = m_sprite; _local4.m_drawScale = m_physScale; _local4.m_fillAlpha = 0.2; _local4.m_lineThickness = 1; _local4.m_drawFlags = (b2DebugDraw.e_shapeBit | b2DebugDraw.e_jointBit); myContactListener = new ContactListenerClass(); m_world.SetContactListener(myContactListener); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if ((((((_arg1.keyCode == 27)) || ((_arg1.keyCode == 32)))) || ((_arg1.keyCode == 80)))){ }; if (_arg1.keyCode == 82){ main.RestartLevel(); }; if (main.b_test == true){ if (_arg1.keyCode == 87){ FinishLevel(); }; }; if ((((_arg1.keyCode == 37)) || ((_arg1.keyCode == 40)))){ main.button_rotate = -1; }; if ((((_arg1.keyCode == 38)) || ((_arg1.keyCode == 39)))){ main.button_rotate = 1; }; } private function keyUpHandler(_arg1:KeyboardEvent):void{ if ((((((((_arg1.keyCode == 37)) || ((_arg1.keyCode == 38)))) || ((_arg1.keyCode == 39)))) || ((_arg1.keyCode == 40)))){ main.button_rotate = 0; }; } public function Update(_arg1){ var _local2:*; var _local3:uint; var _local4:*; var _local5:*; if (b_pause){ return; }; if (((b_level_loaded) && ((m_counter > 0)))){ m_counter--; }; if (over_pause > 0){ over_pause = (over_pause - (1 / 30)); }; m_sprite.graphics.clear(); CalculateContacts(); for each (_local2 in m_objects) { _local2.Update(); if ((((_local2.y > 1000)) && ((_local2.m_type == 2)))){ DeleteObject(_local2); }; }; _local3 = getTimer(); m_world.Step(m_timeStep, m_iterations); CheckFinish(); if (m_main.clicks_number_text != undefined){ m_main.clicks_number_text.text = m_clicks; }; m_fire_controll.Update(); if (this.GameGUI){ this.GameGUI.LevelNumber.scores_number_text.text = main.m_scores; this.GameGUI.LevelNumber.scores2_number_text.text = ("/ " + m_scores_data.m_data[main.m_stage_number]); this.GameGUI.LevelNumber.level_number_text.text = main.m_stage_number; }; if (((((((m_stage) && (m_stage.Update))) && (main.m_objects_panel))) && (main.m_main.GamePoint))){ m_stage.Update(); }; if ((((shake_num > 0)) && (m_stage))){ _local4 = 10; shake_num--; m_stage.x = ((Math.random() * _local4) - (_local4 / 2)); m_stage.y = ((Math.random() * _local4) - (_local4 / 2)); if (shake_num == 0){ m_stage.x = (shake_x = 0); m_stage.y = (shake_y = 0); }; _local4--; }; m_talks.Update(); if (m_stage){ m_bird_time = (m_bird_time - (1 / 30)); if (m_bird_time <= 0){ m_bird_time = (2 + (Math.random() * 2)); _local5 = new bird_fly(); }; }; UpdateSoundPause(); } public function MouseDown(_arg1){ var _local2:*; if (b_pause){ return; }; if (m_counter > 0){ return; }; for each (_local2 in m_objects) { if (_local2.m_type == 1){ if (_local2.ibox.selector.hitTestPoint(mouseX, mouseY)){ if (_local2.b_breaks){ CreateEffect("WrrClip", mouseX, mouseY); _local2.UnBreak(); } else { CreateEffect("BrakeClip", mouseX, mouseY); _local2.Break(_local2.b_tormoza); }; return; }; }; }; CreateEffect("ClickClip", mouseX, mouseY); } public function MouseUp(_arg1){ if (main.m_objects_panel){ main.m_objects_panel.m_selected_2 = 0; }; if (b_pause){ return; }; } public function MouseMove(_arg1:MouseEvent):void{ if (b_pause){ return; }; } public function CalculateContacts(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:*; var _local10:*; var _local11:*; var _local12:*; if (myContactListener == 0){ return; }; while (myContactListener.contactStack[0]) { _local1 = myContactListener.contactStack.pop(); _local2 = _local1.car; _local3 = _local1.man; _local4 = _local2.m_userData.m_type; _local5 = _local3.m_userData.m_type; if (_local4 == 8){ _local2.m_userData.m_body.Explose(); } else { if ((((_local5 == 2)) && ((_local4 == 6)))){ _local6 = _local1.pos.x; _local7 = _local1.pos.y; if (_local2.m_userData.m_body.IfCan((_local6 * main.m_physScale), (_local7 * main.m_physScale)) == false){ } else { _local8 = -(_local1.force); _local9 = _local1.norm; if ((((_local8 > 0.005)) && (!((_local3.m_userData.m_body.b_deleted == true))))){ if (main.b_sound){ _local12 = (int((Math.random() * 6)) + 1); if (_local12 == 1){ main.m_main.BumSound.play(); } else { if (_local12 == 2){ main.m_main.BumSound2.play(); } else { if (_local12 == 3){ main.m_main.BumSound3.play(); } else { if (_local12 == 4){ main.m_main.BumSound4.play(); } else { if (_local12 == 5){ main.m_main.BumSound5.play(); } else { if (_local12 == 6){ main.m_main.BumSound6.play(); }; }; }; }; }; }; }; CreateEffect("RagdollClip", (_local6 * main.m_physScale), (_local7 * main.m_physScale)); _local10 = new BonusStar((_local6 * main.m_physScale), (_local7 * main.m_physScale), 100); _local11 = new Ragdoll(_local3.m_userData.m_body, _local2.m_userData.m_body, _local8, _local6, _local7); main.DeleteObject(_local3.m_userData.m_body); main.Panic(); }; }; }; }; }; } public function CreateEffect(_arg1, _arg2, _arg3){ var _local4:* = new ((getDefinitionByName(_arg1) as Class)); _local4.x = _arg2; _local4.y = _arg3; var _local5:* = ((Math.random() * 60) - 30); _local4.rotation = _local5; main.m_main.addChild(_local4); } function frame1(){ stop(); this.b_first = true; main.m_main.b_first_expl = true; main.m_main.ButtonOver = new Button_Over(); } function frame47(){ stop(); } function frame65(){ if (this.b_first){ main.m_main.Music1 = new Music1(); main.m_main.Music2 = new Music2(); main.m_main.BumSound = new Bum_Sound(); main.m_main.BumSound2 = new Bum2_Sound(); main.m_main.BumSound3 = new Bum3_Sound(); main.m_main.BumSound4 = new Bum4_Sound(); main.m_main.BumSound5 = new Bum5_Sound(); main.m_main.BumSound6 = new Bum6_Sound(); main.m_main.CarCrashSound = new Car_Crush(); main.m_main.FireSound = new Fire_Start(); main.m_main.FireSmallSound = new Fire_Start_Small(); main.m_main.StarSound = new Star_Arrive(); main.m_main.CrackSound1 = new CrackSound1(); main.m_main.CrackSound2 = new CrackSound2(); main.m_main.CrackSound3 = new CrackSound3(); main.m_main.BreakingSound = new BreakingSound(); main.m_main.GasBigSound = new GasBigSound(); main.m_main.GasSmallSound = new GasSmallSound(); main.m_main.ExplosionSound = new ExplosionSound(); main.m_main.GoldSound = new GoldSound(); main.m_main.RestartSound = new RestartSound(); main.m_main.WinSound = new WinSound(); main.m_main.LoveMusic = new LoveMusic(); main.m_main.SimpsonsMusic = new SimpsonsMusic(); main.m_main.Explosion2Sound = new Explosion2Sound(); this.b_first = false; main.m_main.m_music_type = 0; }; if (main.m_main.m_music_type != 1){ transform2 = new SoundTransform(1, 0); if (!main.b_music){ transform2.volume = 0; }; if (main.m_main.m_music){ main.m_main.m_music.stop(); }; main.m_main.m_music = main.m_main.Music1.play(0, 9999, transform2); main.m_main.m_music_type = 1; }; } function frame75(){ if (main.m_main.m_music_type != 2){ transform3 = new SoundTransform(1, 0); if (!main.b_music){ transform3.volume = 0; }; if (main.m_main.m_music){ main.m_main.m_music.stop(); }; main.m_main.m_music = main.m_main.Music2.play(0, 9999, transform3); main.m_main.m_music_type = 2; }; } function frame95(){ gotoAndStop("Menu"); } public static function ResetLevels(){ var _local1:* = 0; while (_local1 < 35) { mySO.data.Saves.m_levels[_local1] = 0; mySO.data.Saves.m_scores[_local1] = 0; _local1++; }; mySO.data.Saves.m_levels[0] = 1; main.m_main.gotoAndStop("Reset"); } public static function FinishLevel(){ var _local1:*; if (b_finish){ return; }; i = 0; while (i < m_objects.length) { if (m_objects[i].m_type == 2){ _local1 = m_objects[i]; if (_local1.m_type == 2){ DeleteObject(_local1); i = 0; }; }; i++; }; CheckFinish(); t_timer = (t_timer - 3000); } public static function RestartLevel(){ if (main.m_stage){ if (main.b_sound){ main.m_main.RestartSound.play(); }; main.FreeAll(); main.CreateStage(main.m_stage_name); }; } public static function Panic(){ i = 0; while (i < m_objects.length) { if (m_objects[i].m_type == 2){ if (m_objects[i].anim == 1){ m_objects[i].gotoAndStop("Neighbour"); }; }; i++; }; } public static function AddObject(_arg1, _arg2=0){ _arg1.b_deleted = false; _arg1.m_type = int(_arg2); m_objects.push(_arg1); } public static function DeleteObject(_arg1){ var _local2:*; _local2 = 0; while (_local2 < m_objects.length) { if (m_objects[_local2] == _arg1){ m_objects[_local2].Destroy(); m_objects[_local2].b_deleted = true; m_objects.splice(_local2, 1); return (true); }; _local2++; }; return (false); } public static function FreeAll(){ var _local1:*; m_talks.Clear(); _local1 = 0; while (_local1 < m_objects.length) { if (m_objects[_local1].m_type == 11){ m_objects[_local1].Destroy(); m_objects.splice(_local1, 1); _local1 = 0; }; _local1++; }; for each (_local1 in m_objects) { _local1.Destroy(); }; if (m_stage.Destroy){ m_stage.Destroy(); }; m_stage.parent.removeChild(m_stage); m_stage = 0; m_objects.splice(0); m_fire_controll.FreeAll(); b_level_loaded = false; if (main.m_main.m_uniq_music){ main.m_main.m_uniq_music.stop(); m_sound_pause = getTimer(); }; } public static function CreateStage(_arg1){ over_pause = 0; main.button_rotate = 0; m_counter = 3; b_level_loaded = true; m_force_coeff = 0.5; m_bonus_y = 1; var _local2:* = new ((getDefinitionByName(("Stages." + _arg1)) as Class)); main.m_stage = _local2; if (main.m_main.GamePoint){ trace("add"); main.m_main.GamePoint.addChild(main.m_stage); }; m_stage_name = _arg1; b_pause = false; b_finish = false; b_loose = false; t_timer = 0; b_first = true; m_clicks = 0; b_menu_up = true; m_scores = 0; m_fire_controll.Init(); if (main.m_objects_panel){ main.m_objects_panel.Restart(); }; var _local3:String = (main.m_stage_name.charAt((main.m_stage_name.length - 2)) + main.m_stage_name.charAt((main.m_stage_name.length - 1))); main.m_stage_number = int(_local3); main.m_talks.ResetTime(); var _local4:* = new LevelStartClip(); m_stage.addChild(_local4); } public static function CheckFinish(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:String; var _local10:*; var _local11:*; if (m_stage == 0){ return; }; if (b_finish == false){ _local4 = true; _local5 = true; _local1 = 0; while (_local1 < m_objects.length) { _local6 = m_objects[_local1]; if (_local6.m_type == 1){ _local2 = (_local6.x + _local6.ibox.x); _local3 = (_local6.y + _local6.ibox.y); if ((((((((_local2 < -100)) || ((_local2 > 740)))) || ((_local3 < -100)))) || ((_local3 > 580)))){ _local4 = false; }; }; if (_local6.m_type == 2){ if ((((((((_local6.x > 0)) && ((_local6.x < 640)))) && ((_local6.y > 0)))) && ((_local6.y < 480)))){ _local5 = false; } else { if (_local6.b_overscreen == false){ _local7 = new BonusStar(_local6.x, _local6.y, 100); _local6.b_overscreen = true; }; }; }; _local1++; }; if ((((_local5 == true)) && ((t_timer == 0)))){ t_timer = getTimer(); }; if (_local4 == false){ if (b_loose == false){ _local8 = new FailLogo(); _local8.alpha = 0.4; m_stage.addChild(_local8); if (main.b_sound){ m_main.CarCrashSound.play(); }; }; b_loose = true; return; }; if (((!((t_timer == 0))) && (((getTimer() - t_timer) > 3000)))){ if (_local5 == true){ _local9 = (main.m_stage_name.charAt((main.m_stage_name.length - 2)) + main.m_stage_name.charAt((main.m_stage_name.length - 1))); _local10 = int(_local9); _local11 = 0; _local1 = 0; while (_local1 < 35) { _local11 = (_local11 + main.mySO.data.Saves.m_scores[_local1]); _local1++; }; main.mySO.data.Saves.m_levels[(_local10 - 1)] = 2; if ((((_local10 < 30)) && ((main.mySO.data.Saves.m_levels[_local10] == 0)))){ main.mySO.data.Saves.m_levels[_local10] = 1; }; main.mySO.flush(); if (main.b_sound){ m_main.WinSound.play(); }; b_finish = true; }; }; }; } public static function isUrl(_arg1:Array):Boolean{ var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local2:String = main.m_main.stage.loaderInfo.loaderURL; var _local3:* = _local2.split("://"); if (_local3[1]){ _local2 = _local3[1]; }; for (_local5 in _arg1) { _local4 = true; _local6 = _local2.search(_arg1[_local5]); if (_local6 > 0){ _local7 = _local2.charAt((_local6 - 1)); }; if (_local6 == -1){ _local4 = false; }; if ((((_local6 > 0)) && (!((_local7 == "."))))){ _local4 = false; }; if (_local4){ return (true); }; }; return (false); } public static function Bum(){ var _local1:*; for each (_local1 in m_objects_panel.m_objects) { _local1.m_object.Explose(); }; } public static function SetSoundPause(_arg1){ m_sound_pause = (getTimer() + (_arg1 * 1000)); var _local2:SoundTransform = new SoundTransform(); _local2.volume = 0; var _local3:* = main.m_main.m_music; if (_local3){ _local3.soundTransform = _local2; }; trace("small sound"); } public static function UpdateSoundPause(){ var _local1:*; var _local2:SoundTransform; if (m_sound_pause <= 0){ return; }; if (getTimer() > m_sound_pause){ _local1 = main.m_main.m_music; if (_local1){ if ((((_local1.soundTransform.volume < 1)) && (main.b_music))){ _local2 = new SoundTransform(); _local2.volume = (_local1.soundTransform.volume + 0.05); _local1.soundTransform = _local2; } else { m_sound_pause = 0; trace("big sound"); }; }; }; } public static function StartGameNow(){ main.m_talks.DeleteStartDialogs(); main.m_talks.DeleteStartDialogs(); main.over_pause = 0; if (main.m_stage_number == 1){ if (main.m_stage.Tutorial.currentFrame < 294){ main.m_stage.Tutorial.gotoAndPlay(294); }; }; if (main.m_stage_number == 2){ if (main.m_stage.Tutorial.currentFrame < 398){ main.m_stage.Tutorial.gotoAndPlay(398); }; }; } } }//package
Section 263
//Man_01_Body (Man_01_Body) package { import flash.display.*; public dynamic class Man_01_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 264
//Man_01_Hand1 (Man_01_Hand1) package { import flash.display.*; public dynamic class Man_01_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 265
//Man_01_Hand2 (Man_01_Hand2) package { import flash.display.*; public dynamic class Man_01_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 266
//Man_01_Head (Man_01_Head) package { import flash.display.*; public dynamic class Man_01_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 267
//Man_01_Leg1 (Man_01_Leg1) package { import flash.display.*; public dynamic class Man_01_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 268
//Man_01_Leg2 (Man_01_Leg2) package { import flash.display.*; public dynamic class Man_01_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 269
//Man_02_Body (Man_02_Body) package { import flash.display.*; public dynamic class Man_02_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 270
//Man_02_Hand1 (Man_02_Hand1) package { import flash.display.*; public dynamic class Man_02_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 271
//Man_02_Hand2 (Man_02_Hand2) package { import flash.display.*; public dynamic class Man_02_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 272
//Man_02_Head (Man_02_Head) package { import flash.display.*; public dynamic class Man_02_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 273
//Man_02_Leg1 (Man_02_Leg1) package { import flash.display.*; public dynamic class Man_02_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 274
//Man_02_Leg2 (Man_02_Leg2) package { import flash.display.*; public dynamic class Man_02_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 275
//Man_03_Body (Man_03_Body) package { import flash.display.*; public dynamic class Man_03_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 276
//Man_03_Hand1 (Man_03_Hand1) package { import flash.display.*; public dynamic class Man_03_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 277
//Man_03_Hand2 (Man_03_Hand2) package { import flash.display.*; public dynamic class Man_03_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 278
//Man_03_Head (Man_03_Head) package { import flash.display.*; public dynamic class Man_03_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 279
//Man_03_Leg1 (Man_03_Leg1) package { import flash.display.*; public dynamic class Man_03_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 280
//Man_03_Leg2 (Man_03_Leg2) package { import flash.display.*; public dynamic class Man_03_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 281
//Man_04_Body (Man_04_Body) package { import flash.display.*; public dynamic class Man_04_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 282
//Man_04_Hand1 (Man_04_Hand1) package { import flash.display.*; public dynamic class Man_04_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 283
//Man_04_Hand2 (Man_04_Hand2) package { import flash.display.*; public dynamic class Man_04_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 284
//Man_04_Head (Man_04_Head) package { import flash.display.*; public dynamic class Man_04_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 285
//Man_04_Leg1 (Man_04_Leg1) package { import flash.display.*; public dynamic class Man_04_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 286
//Man_04_Leg2 (Man_04_Leg2) package { import flash.display.*; public dynamic class Man_04_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 287
//Man_05_Body (Man_05_Body) package { import flash.display.*; public dynamic class Man_05_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 288
//Man_05_Hand1 (Man_05_Hand1) package { import flash.display.*; public dynamic class Man_05_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 289
//Man_05_Hand2 (Man_05_Hand2) package { import flash.display.*; public dynamic class Man_05_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 290
//Man_05_Head (Man_05_Head) package { import flash.display.*; public dynamic class Man_05_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 291
//Man_05_Leg1 (Man_05_Leg1) package { import flash.display.*; public dynamic class Man_05_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 292
//Man_05_Leg2 (Man_05_Leg2) package { import flash.display.*; public dynamic class Man_05_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 293
//Man_06_Body (Man_06_Body) package { import flash.display.*; public dynamic class Man_06_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 294
//Man_06_Hand1 (Man_06_Hand1) package { import flash.display.*; public dynamic class Man_06_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 295
//Man_06_Hand2 (Man_06_Hand2) package { import flash.display.*; public dynamic class Man_06_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 296
//Man_06_Head (Man_06_Head) package { import flash.display.*; public dynamic class Man_06_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 297
//Man_06_Leg1 (Man_06_Leg1) package { import flash.display.*; public dynamic class Man_06_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 298
//Man_06_Leg2 (Man_06_Leg2) package { import flash.display.*; public dynamic class Man_06_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 299
//Man_07_Body (Man_07_Body) package { import flash.display.*; public dynamic class Man_07_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 300
//Man_07_Hand1 (Man_07_Hand1) package { import flash.display.*; public dynamic class Man_07_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 301
//Man_07_Hand2 (Man_07_Hand2) package { import flash.display.*; public dynamic class Man_07_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 302
//Man_07_Head (Man_07_Head) package { import flash.display.*; public dynamic class Man_07_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 303
//Man_07_Leg1 (Man_07_Leg1) package { import flash.display.*; public dynamic class Man_07_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 304
//Man_07_Leg2 (Man_07_Leg2) package { import flash.display.*; public dynamic class Man_07_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 305
//Man_08_Body (Man_08_Body) package { import flash.display.*; public dynamic class Man_08_Body extends MovieClip { public var Blood_LHand:MovieClip; public var Blood_RHand:MovieClip; public var Blood_RLeg:MovieClip; public var Blood_LLeg:MovieClip; public var Blood_Head:MovieClip; } }//package
Section 306
//Man_08_Hand1 (Man_08_Hand1) package { import flash.display.*; public dynamic class Man_08_Hand1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 307
//Man_08_Hand2 (Man_08_Hand2) package { import flash.display.*; public dynamic class Man_08_Hand2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 308
//Man_08_Head (Man_08_Head) package { import flash.display.*; public dynamic class Man_08_Head extends MovieClip { public var Blood:MovieClip; } }//package
Section 309
//Man_08_Leg1 (Man_08_Leg1) package { import flash.display.*; public dynamic class Man_08_Leg1 extends MovieClip { public var Blood:MovieClip; } }//package
Section 310
//Man_08_Leg2 (Man_08_Leg2) package { import flash.display.*; public dynamic class Man_08_Leg2 extends MovieClip { public var Blood:MovieClip; } }//package
Section 311
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 312
//MoreGamesButton (MoreGamesButton) package { import gui.*; public dynamic class MoreGamesButton extends Base_Button { } }//package
Section 313
//Music1 (Music1) package { import flash.media.*; public dynamic class Music1 extends Sound { } }//package
Section 314
//Music2 (Music2) package { import flash.media.*; public dynamic class Music2 extends Sound { } }//package
Section 315
//NewStagebutton (NewStagebutton) package { import gui.*; public dynamic class NewStagebutton extends SplashButton2 { } }//package
Section 316
//PlayButton (PlayButton) package { import gui.*; public dynamic class PlayButton extends Base_Button { } }//package
Section 317
//Prepare_StartGame (Prepare_StartGame) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class Prepare_StartGame extends MovieClip { public function Prepare_StartGame(){ addFrameScript(14, frame15); } function frame15(){ stop(); parent.removeChild(this); } } }//package
Section 318
//RagdollClip (RagdollClip) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class RagdollClip extends MovieClip { public function RagdollClip(){ addFrameScript(19, frame20); } function frame20(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 319
//RedLineClip (RedLineClip) package { import flash.display.*; public dynamic class RedLineClip extends MovieClip { } }//package
Section 320
//RestartSound (RestartSound) package { import flash.media.*; public dynamic class RestartSound extends Sound { } }//package
Section 321
//SimpsonsMusic (SimpsonsMusic) package { import flash.media.*; public dynamic class SimpsonsMusic extends Sound { } }//package
Section 322
//StageButton (StageButton) package { import gui.*; public dynamic class StageButton extends Base_Button { } }//package
Section 323
//Star_Arrive (Star_Arrive) package { import flash.media.*; public dynamic class Star_Arrive extends Sound { } }//package
Section 324
//Stars (Stars) package { import flash.display.*; public dynamic class Stars extends MovieClip { } }//package
Section 325
//WinSound (WinSound) package { import flash.media.*; public dynamic class WinSound extends Sound { } }//package
Section 326
//WrrClip (WrrClip) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.filters.*; import flash.text.*; import flash.ui.*; public dynamic class WrrClip extends MovieClip { public function WrrClip(){ addFrameScript(19, frame20); } function frame20(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:3
Symbol 3 MovieClipUses:2Used by:7
Symbol 4 FontUsed by:5 407 578 579 604 606 621 622 623 641 646 647 651 666 667 704 766 771 779 789 795 796 801 814 815 909 922 923 970 995 1065 1090
Symbol 5 EditableTextUses:4Used by:6
Symbol 6 MovieClipUses:5Used by:7
Symbol 7 MovieClip {Objects.TalkClip}Uses:3 6
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClip {Objects.GrenadePartSled}Uses:8
Symbol 10 GraphicUsed by:24
Symbol 11 GraphicUsed by:24
Symbol 12 GraphicUsed by:24
Symbol 13 GraphicUsed by:24
Symbol 14 GraphicUsed by:24
Symbol 15 GraphicUsed by:24
Symbol 16 GraphicUsed by:24
Symbol 17 GraphicUsed by:24
Symbol 18 GraphicUsed by:24
Symbol 19 GraphicUsed by:24
Symbol 20 GraphicUsed by:24
Symbol 21 GraphicUsed by:24
Symbol 22 GraphicUsed by:24
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClip {Explosion}Uses:10 11 12 13 14 15 16 17 18 19 20 21 22 23
Symbol 25 GraphicUsed by:30
Symbol 26 GraphicUsed by:30
Symbol 27 GraphicUsed by:30
Symbol 28 GraphicUsed by:30
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClip {ZomBlast_fla.BuhSmall_335}Uses:25 26 27 28 29Used by:33
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:31Used by:33
Symbol 33 MovieClip {BuhPart}Uses:30 32
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClip {WrrClip}Uses:34
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClip {RagdollClip}Uses:36
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClip {ClickClip}Uses:38
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClip {BrakeClip}Uses:40
Symbol 42 GraphicUsed by:50
Symbol 43 GraphicUsed by:50 356
Symbol 44 GraphicUsed by:50
Symbol 45 GraphicUsed by:50
Symbol 46 GraphicUsed by:50
Symbol 47 GraphicUsed by:50
Symbol 48 GraphicUsed by:50
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClip {ZomBlast_fla.Blood_6}Uses:42 43 44 45 46 47 48 49Used by:53 54 57 58 61 62 64 66 105 108 109 111 114 115 118 119 121 123 163 166 167 169 170 171 217 219 221 223 365 380 382 384 388 457 459 461 463 502 504 506 508 551 553 555 557 572 574 672
Symbol 51 GraphicUsed by:53 54 240 243 245 246 247 253 257
Symbol 52 GraphicUsed by:53 54 240 243 245 246 247 253 257
Symbol 53 MovieClip {Man_08_Hand2}Uses:50 51 52
Symbol 54 MovieClip {Man_08_Hand1}Uses:50 51 52
Symbol 55 GraphicUsed by:57 58 390 394 395 396 397 398 399
Symbol 56 GraphicUsed by:57 58 390 394 395 396 397 398 399
Symbol 57 MovieClip {Man_07_Hand2}Uses:50 55 56
Symbol 58 MovieClip {Man_07_Hand1}Uses:50 55 56
Symbol 59 GraphicUsed by:61 62 837 840 841 842 844 845 846
Symbol 60 GraphicUsed by:61 62 837 840 841 842 844 845 846
Symbol 61 MovieClip {Man_06_Hand2}Uses:50 59 60
Symbol 62 MovieClip {Man_06_Hand1}Uses:50 59 60
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClip {Man_05_Leg2}Uses:50 63
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClip {Man_05_Leg1}Uses:65 50
Symbol 67 GraphicUsed by:105
Symbol 68 GraphicUsed by:103
Symbol 69 GraphicUsed by:103
Symbol 70 GraphicUsed by:103
Symbol 71 GraphicUsed by:103
Symbol 72 GraphicUsed by:103
Symbol 73 GraphicUsed by:103
Symbol 74 GraphicUsed by:103
Symbol 75 GraphicUsed by:103
Symbol 76 GraphicUsed by:103
Symbol 77 GraphicUsed by:103
Symbol 78 GraphicUsed by:103
Symbol 79 GraphicUsed by:103
Symbol 80 GraphicUsed by:103
Symbol 81 GraphicUsed by:103
Symbol 82 GraphicUsed by:103
Symbol 83 GraphicUsed by:103
Symbol 84 GraphicUsed by:103
Symbol 85 GraphicUsed by:103
Symbol 86 GraphicUsed by:103
Symbol 87 GraphicUsed by:103
Symbol 88 GraphicUsed by:103
Symbol 89 GraphicUsed by:103
Symbol 90 GraphicUsed by:103
Symbol 91 GraphicUsed by:103
Symbol 92 GraphicUsed by:103
Symbol 93 GraphicUsed by:103
Symbol 94 GraphicUsed by:103
Symbol 95 GraphicUsed by:103
Symbol 96 GraphicUsed by:103
Symbol 97 GraphicUsed by:103
Symbol 98 GraphicUsed by:103
Symbol 99 GraphicUsed by:103
Symbol 100 GraphicUsed by:103
Symbol 101 GraphicUsed by:103
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClipUses:68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102Used by:105
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClip {Man_05_Head}Uses:50 67 103 104
Symbol 106 GraphicUsed by:108 109
Symbol 107 GraphicUsed by:108 109
Symbol 108 MovieClip {Man_05_Hand2}Uses:50 106 107
Symbol 109 MovieClip {Man_05_Hand1}Uses:50 106 107
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClip {Man_05_Body}Uses:50 110
Symbol 112 GraphicUsed by:114 115 754 757
Symbol 113 GraphicUsed by:114 115 754 757
Symbol 114 MovieClip {Man_04_Hand2}Uses:50 112 113
Symbol 115 MovieClip {Man_04_Hand1}Uses:50 112 113
Symbol 116 GraphicUsed by:118 119 633 636 637
Symbol 117 GraphicUsed by:118 119 633 636 637
Symbol 118 MovieClip {Man_03_Hand2}Uses:50 116 117
Symbol 119 MovieClip {Man_03_Hand1}Uses:50 116 117
Symbol 120 GraphicUsed by:121
Symbol 121 MovieClip {Man_02_Leg2}Uses:50 120
Symbol 122 GraphicUsed by:123
Symbol 123 MovieClip {Man_02_Leg1}Uses:50 122
Symbol 124 GraphicUsed by:163
Symbol 125 GraphicUsed by:161
Symbol 126 GraphicUsed by:161
Symbol 127 GraphicUsed by:161
Symbol 128 GraphicUsed by:161
Symbol 129 GraphicUsed by:161
Symbol 130 GraphicUsed by:161
Symbol 131 GraphicUsed by:161
Symbol 132 GraphicUsed by:161
Symbol 133 GraphicUsed by:161
Symbol 134 GraphicUsed by:161
Symbol 135 GraphicUsed by:161
Symbol 136 GraphicUsed by:161
Symbol 137 GraphicUsed by:161
Symbol 138 GraphicUsed by:161
Symbol 139 GraphicUsed by:161
Symbol 140 GraphicUsed by:161
Symbol 141 GraphicUsed by:161
Symbol 142 GraphicUsed by:161
Symbol 143 GraphicUsed by:161
Symbol 144 GraphicUsed by:161
Symbol 145 GraphicUsed by:161
Symbol 146 GraphicUsed by:161
Symbol 147 GraphicUsed by:161
Symbol 148 GraphicUsed by:161
Symbol 149 GraphicUsed by:161
Symbol 150 GraphicUsed by:161
Symbol 151 GraphicUsed by:161
Symbol 152 GraphicUsed by:161
Symbol 153 GraphicUsed by:161
Symbol 154 GraphicUsed by:161
Symbol 155 GraphicUsed by:161
Symbol 156 GraphicUsed by:161
Symbol 157 GraphicUsed by:161
Symbol 158 GraphicUsed by:161
Symbol 159 GraphicUsed by:161
Symbol 160 GraphicUsed by:161
Symbol 161 MovieClipUses:125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160Used by:163 217 365 388
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClip {Man_02_Head}Uses:50 124 161 162
Symbol 164 GraphicUsed by:166 167 170 171 367 370 371 372 373 374 375 695 696 697 698 699 700 701 1067
Symbol 165 GraphicUsed by:166 167 170 171 367 370 371 372 373 374 375 695 696 697 698 699 700 701
Symbol 166 MovieClip {Man_02_Hand2}Uses:50 164 165
Symbol 167 MovieClip {Man_02_Hand1}Uses:50 164 165
Symbol 168 GraphicUsed by:169
Symbol 169 MovieClip {Man_02_Body}Uses:50 168
Symbol 170 MovieClip {Man_01_Hand2}Uses:50 164 165
Symbol 171 MovieClip {Man_01_Hand1}Uses:50 164 165
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:174 178 1001
Symbol 174 MovieClip {Stars}Uses:173
Symbol 175 GraphicUsed by:177
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClip {FireBody}Uses:175 176
Symbol 178 MovieClip {gui.BonusStar}Uses:173
Symbol 179 GraphicUsed by:182
Symbol 180 FontUsed by:181 186 276 278 279 310 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1038 1039 1040 1041 1042 1124
Symbol 181 TextUses:180Used by:182
Symbol 182 MovieClip {Prepare_StartGame}Uses:179 181
Symbol 183 GraphicUsed by:184
Symbol 184 MovieClip {LevelGoodClip}Uses:183
Symbol 185 GraphicUsed by:187
Symbol 186 TextUses:180Used by:187
Symbol 187 MovieClip {gui.FailLogo}Uses:185 186
Symbol 188 GraphicUsed by:199
Symbol 189 GraphicUsed by:199
Symbol 190 GraphicUsed by:199
Symbol 191 GraphicUsed by:199
Symbol 192 GraphicUsed by:199
Symbol 193 GraphicUsed by:199
Symbol 194 GraphicUsed by:199
Symbol 195 GraphicUsed by:199
Symbol 196 GraphicUsed by:199
Symbol 197 GraphicUsed by:199
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClip {LevelStartClip}Uses:188 189 190 191 192 193 194 195 196 197 198
Symbol 200 GraphicUsed by:214
Symbol 201 GraphicUsed by:214
Symbol 202 GraphicUsed by:214
Symbol 203 GraphicUsed by:214
Symbol 204 GraphicUsed by:214
Symbol 205 GraphicUsed by:214
Symbol 206 GraphicUsed by:214
Symbol 207 GraphicUsed by:214
Symbol 208 GraphicUsed by:214
Symbol 209 GraphicUsed by:214
Symbol 210 GraphicUsed by:214
Symbol 211 GraphicUsed by:214
Symbol 212 GraphicUsed by:214
Symbol 213 GraphicUsed by:214
Symbol 214 MovieClip {Objects.bird_fly}Uses:200 201 202 203 204 205 206 207 208 209 210 211 212 213
Symbol 215 GraphicUsed by:217
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClip {Man_08_Head}Uses:50 215 161 216Used by:240 245 246 247 253 257
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClip {Man_08_Body}Uses:50 218Used by:240 243 245 246 247 253 257
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClip {Man_08_Leg2}Uses:50 220Used by:240 243 245 246 247 253 257
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClip {Man_08_Leg1}Uses:50 222Used by:240 243 245 246 247 253 257
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:258 376 377 400 638 702 758 759 847
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClip {Base_Head}Uses:226Used by:238 348 378 630 694 712 830
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClip {Base_Body}Uses:228Used by:238 348 378 630 694 712 830
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClip {Base_Hand1}Uses:230Used by:238 348 378 630 694 712 830
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClip {Base_Hand2}Uses:232Used by:238 348 378 630 694 712 830
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClip {Base_Leg1}Uses:234Used by:238 348 378 630 694 712 830
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClip {Base_Leg2}Uses:236Used by:238 348 378 630 694 712 830
Symbol 238 MovieClipUses:227 229 231 233 235 237Used by:258
Symbol 239 GraphicUsed by:240 245 246 247 253 257
Symbol 240 MovieClip {ZomBlast_fla.Man8_Static_285}Uses:223 221 219 51 52 217 239Used by:258
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClipUses:241Used by:243
Symbol 243 MovieClipUses:219 223 221 51 52 242Used by:258
Symbol 244 GraphicUsed by:245 371 395
Symbol 245 MovieClip {ZomBlast_fla.Man8_Static2_292}Uses:223 221 51 52 219 217 244 239Used by:258
Symbol 246 MovieClip {ZomBlast_fla.Man8_Static3_293}Uses:223 221 219 51 52 217 239Used by:258
Symbol 247 MovieClip {ZomBlast_fla.Man8_Static4_294}Uses:223 221 219 51 52 217 239Used by:258
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClipUses:248Used by:253 374 398 695 697 698 699 700 837 841 842 845 846
Symbol 250 GraphicUsed by:253 374 398 700
Symbol 251 GraphicUsed by:253 374 398 700
Symbol 252 GraphicUsed by:253 374 398 700
Symbol 253 MovieClip {ZomBlast_fla.Man8_Over_295}Uses:223 221 219 51 52 217 239 249 250 251 252Used by:258
Symbol 254 GraphicUsed by:256
Symbol 255 GraphicUsed by:256
Symbol 256 MovieClipUses:254 255Used by:257 375 399 701
Symbol 257 MovieClip {ZomBlast_fla.Man8_Neighbour_296}Uses:223 221 219 51 217 239 52 256Used by:258
Symbol 258 MovieClip {Objects.Man_08}Uses:225 238 240 243 245 246 247 253 257
Symbol 259 GraphicUsed by:260
Symbol 260 MovieClipUses:259Used by:261 559
Symbol 261 MovieClip {Objects.GrenadePhysPart}Uses:260
Symbol 262 GraphicUsed by:263
Symbol 263 MovieClip {ZomBlast_fla.Selector_278}Uses:262Used by:281
Symbol 264 GraphicUsed by:265
Symbol 265 MovieClipUses:264Used by:281
Symbol 266 GraphicUsed by:269
Symbol 267 GraphicUsed by:269
Symbol 268 GraphicUsed by:269
Symbol 269 MovieClipUses:266 267 268Used by:272 625
Symbol 270 GraphicUsed by:272
Symbol 271 GraphicUsed by:272
Symbol 272 Button {Frag_Button}Uses:269 270 271Used by:281
Symbol 273 GraphicUsed by:274
Symbol 274 MovieClip {ZomBlast_fla.ExploseRadius_73}Uses:273Used by:280 625
Symbol 275 GraphicUsed by:280
Symbol 276 EditableTextUses:180Used by:280
Symbol 277 GraphicUsed by:280
Symbol 278 EditableTextUses:180Used by:280
Symbol 279 EditableTextUses:180Used by:280
Symbol 280 ButtonUses:274 275 276 277 278 279Used by:281
Symbol 281 MovieClip {Objects.Grenade}Uses:263 265 272 280
Symbol 282 GraphicUsed by:283
Symbol 283 MovieClipUses:282Used by:298 898 938
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:298 898 938
Symbol 286 GraphicUsed by:287
Symbol 287 MovieClipUses:286Used by:295
Symbol 288 GraphicUsed by:291
Symbol 289 GraphicUsed by:291
Symbol 290 GraphicUsed by:291
Symbol 291 MovieClipUses:288 289 290Used by:292
Symbol 292 MovieClipUses:291Used by:295 937
Symbol 293 GraphicUsed by:294
Symbol 294 MovieClipUses:293Used by:295 896 937
Symbol 295 MovieClipUses:287 292 294Used by:298
Symbol 296 GraphicUsed by:297 897
Symbol 297 MovieClipUses:296Used by:298
Symbol 298 MovieClip {Objects.Car1}Uses:283 285 295 297
Symbol 299 GraphicUsed by:302
Symbol 300 GraphicUsed by:302
Symbol 301 GraphicUsed by:302
Symbol 302 Button {gui.GMButtonRestart}Uses:299 300 301Used by:314
Symbol 303 GraphicUsed by:306
Symbol 304 GraphicUsed by:306
Symbol 305 GraphicUsed by:306
Symbol 306 Button {gui.GMButtonMenu}Uses:303 304 305Used by:314
Symbol 307 GraphicUsed by:309
Symbol 308 Sound {Button_Over}Used by:309 568  Timeline
Symbol 309 Button {gui.GMButtonBum}Uses:307 308Used by:314
Symbol 310 TextUses:180Used by:314
Symbol 311 FontUsed by:312 313 1102 1108 1111
Symbol 312 TextUses:311Used by:314
Symbol 313 TextUses:311Used by:314
Symbol 314 MovieClip {gui.GameMenu}Uses:302 306 309 310 312 313Used by:1123
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClip {RedLineClip}Uses:315Used by:1002
Symbol 317 GraphicUsed by:318
Symbol 318 MovieClip {GreenBarClip}Uses:317Used by:1002
Symbol 319 BitmapUsed by:321
Symbol 320 BitmapUsed by:321 561 946 973
Symbol 321 GraphicUses:319 320Used by:329
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:324
Symbol 324 MovieClipUses:323Used by:329
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:329
Symbol 327 BitmapUsed by:328 973
Symbol 328 GraphicUses:327Used by:329
Symbol 329 MovieClipUses:321 324 326 328Used by:401 416 418 616 626 643 649 664 681 685 689 693 706 760 768 777 784 792 798 804 806 809 810 812 818 820 822 829 899 902 906 912 914 917 931  Timeline
Symbol 330 GraphicUsed by:331
Symbol 331 MovieClip {Objects.BoxStatic_Base}Uses:330Used by:401 416 418 616 626 643 649 664 681 685 689 693 706 760 768 777 784 792 798 804 806 809 810 812 818 820 822 829 899 902 906 912 914 917 931
Symbol 332 GraphicUsed by:335
Symbol 333 ShapeTweeningUsed by:335
Symbol 334 GraphicUsed by:335
Symbol 335 MovieClip {Objects.BoxStaticRemovable}Uses:332 333 334Used by:401 418 616 693 768 804 810 820 829 914 917
Symbol 336 GraphicUsed by:340
Symbol 337 GraphicUsed by:340
Symbol 338 ShapeTweeningUsed by:340
Symbol 339 GraphicUsed by:340
Symbol 340 MovieClip {Objects.StaticTrigger}Uses:336 337 338 339Used by:401 418 616 693 768 804 810 820 829 914 917
Symbol 341 GraphicUsed by:342
Symbol 342 MovieClipUses:341Used by:401 418 616 685 689 693 777 792 804 809 810 899 906 914 931
Symbol 343 GraphicUsed by:344
Symbol 344 MovieClipUses:343Used by:401 418 616 681 685 689 693 768 777 784 804 809 810 820 899 906 912 914 931
Symbol 345 GraphicUsed by:401
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClipUses:346Used by:401 616 685 689 693 768 777 804 810 820 899 914 931
Symbol 348 MovieClipUses:227 229 231 233 235 237Used by:376 377
Symbol 349 GraphicUsed by:356
Symbol 350 GraphicUsed by:356
Symbol 351 GraphicUsed by:356
Symbol 352 GraphicUsed by:356
Symbol 353 GraphicUsed by:356
Symbol 354 GraphicUsed by:356
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClip {ZomBlast_fla.Blood_33}Uses:349 43 350 351 352 353 354 355Used by:358 360 362
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClip {Man_01_Leg1}Uses:356 357Used by:367 370 371 372 373 374 375 695 696 697 698 699 700 701 1067
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClip {Man_01_Leg2}Uses:356 359Used by:367 370 371 372 373 374 375 695 696 697 698 699 700 701 1067
Symbol 361 GraphicUsed by:362
Symbol 362 MovieClip {Man_01_Body}Uses:356 361Used by:367 370 371 372 373 374 375 695 696 697 698 699 700 701 1067
Symbol 363 GraphicUsed by:365
Symbol 364 GraphicUsed by:365
Symbol 365 MovieClip {Man_01_Head}Uses:50 363 161 364Used by:367 371 372 373 374 375 700 701
Symbol 366 GraphicUsed by:367 371 372 373 374 375 700 701 1067
Symbol 367 MovieClip {ZomBlast_fla.Man1_Static_31}Uses:358 360 362 164 165 365 366Used by:376 377 638 758 759
Symbol 368 GraphicUsed by:369
Symbol 369 MovieClipUses:368Used by:370 696
Symbol 370 MovieClipUses:362 358 360 164 165 369Used by:376 377
Symbol 371 MovieClip {ZomBlast_fla.Man1_Static2_40}Uses:358 360 164 165 362 365 244 366Used by:376 377 638 758 759
Symbol 372 MovieClip {ZomBlast_fla.Man1_Static3_41}Uses:358 360 362 164 165 365 366Used by:376 377 638 758 759
Symbol 373 MovieClip {ZomBlast_fla.Man1_Static4_42}Uses:358 360 362 164 165 365 366Used by:376 377 758 759
Symbol 374 MovieClip {ZomBlast_fla.Man1_Over_43}Uses:358 360 362 164 165 365 366 249 250 251 252Used by:376 377 638 758 759
Symbol 375 MovieClip {ZomBlast_fla.Man1_Neighbour_45}Uses:358 360 362 164 365 366 165 256Used by:376 377 638 758 759
Symbol 376 MovieClip {Objects.Man_01_reverse}Uses:225 348 367 370 371 372 373 374 375Used by:401 416 616 643 649 664 681 685 689 693 768 784 792 798 804 806 809 810 812 818 820 822 829 902 912 914 917 931
Symbol 377 MovieClip {Objects.Man_01}Uses:225 348 367 370 371 372 373 374 375Used by:401 416 418 616 626 649 664 681 685 693 768 777 784 792 798 804 806 809 810 812 818 820 822 829 902 906 912 914 917
Symbol 378 MovieClipUses:227 229 231 233 235 237Used by:400
Symbol 379 GraphicUsed by:380
Symbol 380 MovieClip {Man_07_Leg1}Uses:50 379Used by:390 394 395 396 397 398 399
Symbol 381 GraphicUsed by:382
Symbol 382 MovieClip {Man_07_Leg2}Uses:50 381Used by:390 394 395 396 397 398 399
Symbol 383 GraphicUsed by:384
Symbol 384 MovieClip {Man_07_Body}Uses:50 383Used by:390 394 395 396 397 398 399
Symbol 385 GraphicUsed by:388
Symbol 386 GraphicUsed by:388
Symbol 387 GraphicUsed by:388 394 398 399
Symbol 388 MovieClip {Man_07_Head}Uses:50 385 161 386 387Used by:390 395 396 397 398 399
Symbol 389 GraphicUsed by:390 395 396 397 398 399
Symbol 390 MovieClip {ZomBlast_fla.Man7_Static_51}Uses:380 382 384 55 56 388 389Used by:400
Symbol 391 GraphicUsed by:392
Symbol 392 MovieClipUses:391Used by:394
Symbol 393 GraphicUsed by:394 398 399
Symbol 394 MovieClipUses:384 380 382 55 56 392 393 387Used by:400
Symbol 395 MovieClip {ZomBlast_fla.Man7_Static2_58}Uses:380 382 55 56 384 388 244 389Used by:400
Symbol 396 MovieClip {ZomBlast_fla.Man7_Static3_59}Uses:380 382 384 55 56 388 389Used by:400
Symbol 397 MovieClip {ZomBlast_fla.Man7_Static4_60}Uses:380 382 384 55 56 388 389Used by:400
Symbol 398 MovieClip {ZomBlast_fla.Man7_Over_61}Uses:380 382 384 55 56 388 389 249 387 393 250 251 252Used by:400
Symbol 399 MovieClip {ZomBlast_fla.Man7_Neighbour_62}Uses:380 382 384 55 388 389 56 256 387 393Used by:400
Symbol 400 MovieClip {Objects.Man_07}Uses:225 378 390 394 395 396 397 398 399Used by:401 416 616 664 681 685 768 777 792 804 806 812 818 820 902
Symbol 401 MovieClip {Stages.stage_34}Uses:329 331 335 340 342 344 345 347 376 377 400Used by:Timeline
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClip {Objects.Box_02}Uses:402Used by:914
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:416 626 649 664 681 706 760 784 792 798 809 812 818 822 829 899 902 912 917 1091
Symbol 406 GraphicUsed by:408
Symbol 407 TextUses:4Used by:408
Symbol 408 MovieClipUses:406 407Used by:416
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:409Used by:416 626 643 649 664 681 689 706 760 784 792 798 809 812 818 820 822 829 899 902 912 917
Symbol 411 GraphicUsed by:412
Symbol 412 MovieClipUses:411Used by:416 626 681 689 706 760 784 792 798 809 818 822 902 912
Symbol 413 GraphicUsed by:414
Symbol 414 MovieClipUses:413Used by:416 418 626 649 664 681 689 706 760 784 792 798 809 812 818 820 822 829 899 902 912 917  Timeline
Symbol 415 GraphicUsed by:416
Symbol 416 MovieClip {Stages.stage_18}Uses:329 405 408 410 412 331 414 415 377 376 400Used by:Timeline
Symbol 417 GraphicUsed by:418
Symbol 418 MovieClip {Stages.stage_35}Uses:329 414 331 340 335 342 344 377 417Used by:Timeline
Symbol 419 GraphicUsed by:457
Symbol 420 GraphicUsed by:455
Symbol 421 GraphicUsed by:455
Symbol 422 GraphicUsed by:455
Symbol 423 GraphicUsed by:455
Symbol 424 GraphicUsed by:455
Symbol 425 GraphicUsed by:455
Symbol 426 GraphicUsed by:455
Symbol 427 GraphicUsed by:455
Symbol 428 GraphicUsed by:455
Symbol 429 GraphicUsed by:455
Symbol 430 GraphicUsed by:455
Symbol 431 GraphicUsed by:455
Symbol 432 GraphicUsed by:455
Symbol 433 GraphicUsed by:455
Symbol 434 GraphicUsed by:455
Symbol 435 GraphicUsed by:455
Symbol 436 GraphicUsed by:455
Symbol 437 GraphicUsed by:455
Symbol 438 GraphicUsed by:455
Symbol 439 GraphicUsed by:455
Symbol 440 GraphicUsed by:455
Symbol 441 GraphicUsed by:455
Symbol 442 GraphicUsed by:455
Symbol 443 GraphicUsed by:455
Symbol 444 GraphicUsed by:455
Symbol 445 GraphicUsed by:455
Symbol 446 GraphicUsed by:455
Symbol 447 GraphicUsed by:455
Symbol 448 GraphicUsed by:455
Symbol 449 GraphicUsed by:455
Symbol 450 GraphicUsed by:455
Symbol 451 GraphicUsed by:455
Symbol 452 GraphicUsed by:455
Symbol 453 GraphicUsed by:455
Symbol 454 GraphicUsed by:455
Symbol 455 MovieClipUses:420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454Used by:457
Symbol 456 GraphicUsed by:457
Symbol 457 MovieClip {Man_06_Head}Uses:50 419 455 456Used by:844
Symbol 458 GraphicUsed by:459
Symbol 459 MovieClip {Man_06_Body}Uses:50 458Used by:837 840 841 842 844 845 846
Symbol 460 GraphicUsed by:461
Symbol 461 MovieClip {Man_06_Leg2}Uses:50 460Used by:837 840 841 842 844 845 846
Symbol 462 GraphicUsed by:463
Symbol 463 MovieClip {Man_06_Leg1}Uses:462 50Used by:837 840 841 842 844 845 846
Symbol 464 GraphicUsed by:502
Symbol 465 GraphicUsed by:500
Symbol 466 GraphicUsed by:500
Symbol 467 GraphicUsed by:500
Symbol 468 GraphicUsed by:500
Symbol 469 GraphicUsed by:500
Symbol 470 GraphicUsed by:500
Symbol 471 GraphicUsed by:500
Symbol 472 GraphicUsed by:500
Symbol 473 GraphicUsed by:500
Symbol 474 GraphicUsed by:500
Symbol 475 GraphicUsed by:500
Symbol 476 GraphicUsed by:500
Symbol 477 GraphicUsed by:500
Symbol 478 GraphicUsed by:500
Symbol 479 GraphicUsed by:500
Symbol 480 GraphicUsed by:500
Symbol 481 GraphicUsed by:500
Symbol 482 GraphicUsed by:500
Symbol 483 GraphicUsed by:500
Symbol 484 GraphicUsed by:500
Symbol 485 GraphicUsed by:500
Symbol 486 GraphicUsed by:500
Symbol 487 GraphicUsed by:500
Symbol 488 GraphicUsed by:500
Symbol 489 GraphicUsed by:500
Symbol 490 GraphicUsed by:500
Symbol 491 GraphicUsed by:500
Symbol 492 GraphicUsed by:500
Symbol 493 GraphicUsed by:500
Symbol 494 GraphicUsed by:500
Symbol 495 GraphicUsed by:500
Symbol 496 GraphicUsed by:500
Symbol 497 GraphicUsed by:500
Symbol 498 GraphicUsed by:500
Symbol 499 GraphicUsed by:500
Symbol 500 MovieClipUses:465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499Used by:502
Symbol 501 GraphicUsed by:502
Symbol 502 MovieClip {Man_04_Head}Uses:50 464 500 501Used by:754
Symbol 503 GraphicUsed by:504
Symbol 504 MovieClip {Man_04_Body}Uses:50 503Used by:754 757
Symbol 505 GraphicUsed by:506
Symbol 506 MovieClip {Man_04_Leg2}Uses:50 505Used by:754 757
Symbol 507 GraphicUsed by:508
Symbol 508 MovieClip {Man_04_Leg1}Uses:507 50Used by:754 757
Symbol 509 GraphicUsed by:510
Symbol 510 MovieClip {Objects.Circle}Uses:509Used by:681 693 768 777 804 810 820 906
Symbol 511 GraphicUsed by:512
Symbol 512 MovieClip {Objects.Box_01}Uses:511Used by:681 693 804 809 812 820 822 829 906 914 917
Symbol 513 GraphicUsed by:551
Symbol 514 GraphicUsed by:549
Symbol 515 GraphicUsed by:549
Symbol 516 GraphicUsed by:549
Symbol 517 GraphicUsed by:549
Symbol 518 GraphicUsed by:549
Symbol 519 GraphicUsed by:549
Symbol 520 GraphicUsed by:549
Symbol 521 GraphicUsed by:549
Symbol 522 GraphicUsed by:549
Symbol 523 GraphicUsed by:549
Symbol 524 GraphicUsed by:549
Symbol 525 GraphicUsed by:549
Symbol 526 GraphicUsed by:549
Symbol 527 GraphicUsed by:549
Symbol 528 GraphicUsed by:549
Symbol 529 GraphicUsed by:549
Symbol 530 GraphicUsed by:549
Symbol 531 GraphicUsed by:549
Symbol 532 GraphicUsed by:549
Symbol 533 GraphicUsed by:549
Symbol 534 GraphicUsed by:549
Symbol 535 GraphicUsed by:549
Symbol 536 GraphicUsed by:549
Symbol 537 GraphicUsed by:549
Symbol 538 GraphicUsed by:549
Symbol 539 GraphicUsed by:549
Symbol 540 GraphicUsed by:549
Symbol 541 GraphicUsed by:549
Symbol 542 GraphicUsed by:549
Symbol 543 GraphicUsed by:549
Symbol 544 GraphicUsed by:549
Symbol 545 GraphicUsed by:549
Symbol 546 GraphicUsed by:549
Symbol 547 GraphicUsed by:549
Symbol 548 GraphicUsed by:549
Symbol 549 MovieClipUses:514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548Used by:551
Symbol 550 GraphicUsed by:551
Symbol 551 MovieClip {Man_03_Head}Uses:50 513 549 550Used by:633 637
Symbol 552 GraphicUsed by:553
Symbol 553 MovieClip {Man_03_Body}Uses:50 552Used by:633 636 637
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClip {Man_03_Leg2}Uses:50 554Used by:633 636 637
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClip {Man_03_Leg1}Uses:50 556Used by:633 636 637
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClip {GrenadePart}Uses:558 260Used by:625
Symbol 560 BitmapUsed by:561 946
Symbol 561 GraphicUses:560 320Used by:Timeline
Symbol 562 GraphicUsed by:568
Symbol 563 FontUsed by:564 1043 1054 1071 1072 1073
Symbol 564 TextUses:563Used by:568
Symbol 565 GraphicUsed by:568
Symbol 566 GraphicUsed by:568
Symbol 567 GraphicUsed by:568
Symbol 568 ButtonUses:562 564 565 566 567 308Used by:601
Symbol 569 GraphicUsed by:570
Symbol 570 MovieClipUses:569Used by:600 976 990 993 997
Symbol 571 GraphicUsed by:572
Symbol 572 MovieClipUses:50 571Used by:600 976 990 993 997
Symbol 573 GraphicUsed by:574
Symbol 574 MovieClipUses:50 573Used by:600 976 990 993 997
Symbol 575 GraphicUsed by:600 976 990 993 997
Symbol 576 GraphicUsed by:600 976 990 993 997
Symbol 577 GraphicUsed by:580
Symbol 578 EditableTextUses:4Used by:580
Symbol 579 EditableTextUses:4Used by:580
Symbol 580 MovieClipUses:577 578 579Used by:600
Symbol 581 GraphicUsed by:600 976 990 993 997
Symbol 582 GraphicUsed by:600 976 990 993 997
Symbol 583 GraphicUsed by:599
Symbol 584 GraphicUsed by:599
Symbol 585 GraphicUsed by:599 989
Symbol 586 GraphicUsed by:599
Symbol 587 GraphicUsed by:599
Symbol 588 GraphicUsed by:599
Symbol 589 GraphicUsed by:599
Symbol 590 GraphicUsed by:599
Symbol 591 GraphicUsed by:599
Symbol 592 GraphicUsed by:599
Symbol 593 GraphicUsed by:599
Symbol 594 GraphicUsed by:599
Symbol 595 GraphicUsed by:599
Symbol 596 GraphicUsed by:599
Symbol 597 GraphicUsed by:599
Symbol 598 GraphicUsed by:599
Symbol 599 MovieClipUses:583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598Used by:600 976 997
Symbol 600 MovieClipUses:570 572 574 575 576 580 581 582 599Used by:601
Symbol 601 MovieClip {gui.Preloader}Uses:568 600Used by:Timeline
Symbol 602 FontUsed by:603
Symbol 603 TextUses:602Used by:605
Symbol 604 TextUses:4Used by:605
Symbol 605 MovieClip {ZomBlast_fla.title_anim_10}Uses:603 604Used by:Timeline
Symbol 606 TextUses:4Used by:Timeline
Symbol 607 GraphicUsed by:613 960
Symbol 608 GraphicUsed by:613 960
Symbol 609 GraphicUsed by:613 960
Symbol 610 GraphicUsed by:611
Symbol 611 MovieClipUses:610Used by:613 679 960 1130
Symbol 612 GraphicUsed by:613
Symbol 613 Button {gui.ArmorButton}Uses:607 608 609 611 612Used by:1091  Timeline
Symbol 614 GraphicUsed by:615
Symbol 615 MovieClip {Box_10}Uses:614Used by:616 777 906
Symbol 616 MovieClip {Stages.stage_15}Uses:329 331 335 615 347 342 344 376 377 340 400Used by:Timeline
Symbol 617 GraphicUsed by:618
Symbol 618 MovieClipUses:617Used by:626 643 649
Symbol 619 GraphicUsed by:626
Symbol 620 GraphicUsed by:624
Symbol 621 TextUses:4Used by:624
Symbol 622 TextUses:4Used by:624
Symbol 623 TextUses:4Used by:624
Symbol 624 MovieClip {ZomBlast_fla.Stage1_bonus1_69}Uses:620 621 622 623Used by:626
Symbol 625 MovieClipUses:559 274 269Used by:626
Symbol 626 MovieClip {Stages.stage_01}Uses:329 618 412 410 331 405 414 377 619 624 625Used by:Timeline
Symbol 627 Sound {Bum_Sound}Used by:Timeline
Symbol 628 GraphicUsed by:629 706
Symbol 629 MovieClipUses:628Used by:643 706 760
Symbol 630 MovieClipUses:227 229 231 233 235 237Used by:638
Symbol 631 GraphicUsed by:633
Symbol 632 GraphicUsed by:633 637
Symbol 633 MovieClip {ZomBlast_fla.Man3_Static_79}Uses:557 555 116 553 117 631 551 632Used by:638
Symbol 634 GraphicUsed by:635
Symbol 635 MovieClipUses:634Used by:636
Symbol 636 MovieClipUses:553 557 555 116 117 635Used by:638
Symbol 637 MovieClip {ZomBlast_fla.Man3_Static4_87}Uses:557 555 553 116 117 551 632Used by:638
Symbol 638 MovieClip {Objects.Man_03}Uses:225 630 633 636 371 372 637 374 375 367Used by:643
Symbol 639 GraphicUsed by:643
Symbol 640 GraphicUsed by:642
Symbol 641 TextUses:4Used by:642
Symbol 642 MovieClip {ZomBlast_fla.Stage5_tutorial_88}Uses:640 641Used by:643
Symbol 643 MovieClip {Stages.stage_05}Uses:329 618 410 331 629 638 376 639 642Used by:Timeline
Symbol 644 GraphicUsed by:649
Symbol 645 GraphicUsed by:648
Symbol 646 TextUses:4Used by:648
Symbol 647 TextUses:4Used by:648
Symbol 648 MovieClip {ZomBlast_fla.Stage2_tutorial_90}Uses:645 646 647Used by:649
Symbol 649 MovieClip {Stages.stage_02}Uses:329 331 405 410 618 414 644 648 377 376Used by:Timeline
Symbol 650 GraphicUsed by:652
Symbol 651 TextUses:4Used by:652
Symbol 652 MovieClipUses:650 651Used by:664 812 820
Symbol 653 GraphicUsed by:654
Symbol 654 MovieClip {Objects.Explosive_WorkPart}Uses:653Used by:664 681 685 706 760 784 798 810 818 822 899 902 906 912 917 931
Symbol 655 GraphicUsed by:664
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClip {ZomBlast_fla.Selector_Quad_95}Uses:656Used by:663
Symbol 658 GraphicUsed by:663
Symbol 659 GraphicUsed by:663
Symbol 660 GraphicUsed by:663
Symbol 661 GraphicUsed by:663
Symbol 662 GraphicUsed by:663
Symbol 663 MovieClip {Objects.Explosive_1}Uses:657 658 659 660 661 662Used by:664 681 685 706 760 784 798 810 818 822 899 902 906 912 917 931
Symbol 664 MovieClip {Stages.stage_30}Uses:329 410 405 652 331 414 654 655 376 663 377 400Used by:Timeline
Symbol 665 GraphicUsed by:668
Symbol 666 TextUses:4Used by:668
Symbol 667 TextUses:4Used by:668
Symbol 668 MovieClipUses:665 666 667Used by:681
Symbol 669 GraphicUsed by:670
Symbol 670 MovieClipUses:669Used by:679
Symbol 671 GraphicUsed by:672
Symbol 672 MovieClipUses:50 671Used by:679 1130
Symbol 673 GraphicUsed by:674
Symbol 674 MovieClipUses:673Used by:679 1130
Symbol 675 GraphicUsed by:679 1130
Symbol 676 GraphicUsed by:679 1130
Symbol 677 GraphicUsed by:679 1130
Symbol 678 GraphicUsed by:679 1130
Symbol 679 MovieClipUses:670 672 674 675 676 677 611 678Used by:681
Symbol 680 GraphicUsed by:681
Symbol 681 MovieClip {Stages.stage_19}Uses:412 668 410 329 679 405 331 654 414 512 680 344 377 376 663 510 400Used by:Timeline
Symbol 682 GraphicUsed by:683
Symbol 683 MovieClipUses:682Used by:685 689 777 804 931
Symbol 684 GraphicUsed by:685
Symbol 685 MovieClip {Stages.stage_24}Uses:683 329 331 654 347 342 344 684 376 377 663 400Used by:Timeline
Symbol 686 GraphicUsed by:687
Symbol 687 MovieClipUses:686Used by:689 760
Symbol 688 GraphicUsed by:689
Symbol 689 MovieClip {Stages.stage_07}Uses:329 412 687 410 347 683 331 414 688 344 342 376Used by:Timeline
Symbol 690 Sound {Car_Crush}Used by:Timeline
Symbol 691 GraphicUsed by:692
Symbol 692 MovieClip {Objects.Joint}Uses:691Used by:693 777 784 822 829 906 914
Symbol 693 MovieClip {Stages.stage_20}Uses:347 329 331 335 512 692 342 344 376 377 510 340Used by:Timeline
Symbol 694 MovieClipUses:227 229 231 233 235 237Used by:702
Symbol 695 MovieClip {ZomBlast_fla.Man2_Static_113}Uses:358 360 362 164 165 249Used by:702
Symbol 696 MovieClipUses:362 358 360 164 165 369Used by:702
Symbol 697 MovieClip {ZomBlast_fla.Man2_Static2_115}Uses:358 360 362 164 165 249Used by:702
Symbol 698 MovieClip {ZomBlast_fla.Man2_Static3_116}Uses:358 360 362 164 165 249Used by:702
Symbol 699 MovieClip {ZomBlast_fla.Man2_Static4_117}Uses:358 360 362 164 165 249Used by:702
Symbol 700 MovieClip {ZomBlast_fla.Man2_Over_118}Uses:358 360 362 164 165 365 366 249 250 251 252Used by:702
Symbol 701 MovieClip {ZomBlast_fla.Man2_Neighbour_119}Uses:358 360 362 164 365 366 165 256Used by:702
Symbol 702 MovieClip {Objects.Man_02}Uses:225 694 695 696 697 698 699 700 701Used by:706 899
Symbol 703 GraphicUsed by:705
Symbol 704 TextUses:4Used by:705
Symbol 705 MovieClip {ZomBlast_fla.Stage4_tutorial_120}Uses:703 704Used by:706
Symbol 706 MovieClip {Stages.stage_04}Uses:329 405 410 412 331 414 663 654 702 628 629 705Used by:Timeline
Symbol 707 Sound {Fire_Start}Used by:Timeline
Symbol 708 GraphicUsed by:760
Symbol 709 GraphicUsed by:710
Symbol 710 MovieClipUses:709Used by:711
Symbol 711 MovieClip {ZomBlast_fla.theZombies2_122}Uses:710Used by:760
Symbol 712 MovieClipUses:227 229 231 233 235 237Used by:758 759
Symbol 713 GraphicUsed by:754
Symbol 714 GraphicUsed by:754
Symbol 715 GraphicUsed by:754
Symbol 716 GraphicUsed by:754
Symbol 717 GraphicUsed by:752
Symbol 718 GraphicUsed by:752
Symbol 719 GraphicUsed by:752
Symbol 720 GraphicUsed by:752
Symbol 721 GraphicUsed by:752
Symbol 722 GraphicUsed by:752
Symbol 723 GraphicUsed by:752
Symbol 724 GraphicUsed by:752
Symbol 725 GraphicUsed by:752
Symbol 726 GraphicUsed by:752
Symbol 727 GraphicUsed by:752
Symbol 728 GraphicUsed by:752
Symbol 729 GraphicUsed by:752
Symbol 730 GraphicUsed by:752
Symbol 731 GraphicUsed by:752
Symbol 732 GraphicUsed by:752
Symbol 733 GraphicUsed by:752
Symbol 734 GraphicUsed by:752
Symbol 735 GraphicUsed by:752
Symbol 736 GraphicUsed by:752
Symbol 737 GraphicUsed by:752
Symbol 738 GraphicUsed by:752
Symbol 739 GraphicUsed by:752
Symbol 740 GraphicUsed by:752
Symbol 741 GraphicUsed by:752
Symbol 742 GraphicUsed by:752
Symbol 743 GraphicUsed by:752
Symbol 744 GraphicUsed by:752
Symbol 745 GraphicUsed by:752
Symbol 746 GraphicUsed by:752
Symbol 747 GraphicUsed by:752
Symbol 748 GraphicUsed by:752
Symbol 749 GraphicUsed by:752
Symbol 750 GraphicUsed by:752
Symbol 751 GraphicUsed by:752
Symbol 752 MovieClipUses:717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751Used by:754
Symbol 753 GraphicUsed by:754
Symbol 754 MovieClip {ZomBlast_fla.Man4_Static_126}Uses:508 506 504 112 113 502 713 714 715 716 752 753Used by:758 759
Symbol 755 GraphicUsed by:756
Symbol 756 MovieClipUses:755Used by:757
Symbol 757 MovieClipUses:504 508 506 112 113 756Used by:758 759
Symbol 758 MovieClip {Objects.Man_04_reverse}Uses:225 712 754 757 371 372 373 374 375 367Used by:760
Symbol 759 MovieClip {Objects.Man_04}Uses:225 712 754 757 371 372 373 374 375 367Used by:760
Symbol 760 MovieClip {Stages.stage_06}Uses:329 410 405 412 687 331 663 654 414 708 629 711 758 759Used by:Timeline
Symbol 761 GraphicUsed by:768
Symbol 762 GraphicUsed by:768
Symbol 763 GraphicUsed by:764
Symbol 764 MovieClipUses:763Used by:768
Symbol 765 GraphicUsed by:767
Symbol 766 TextUses:4Used by:767
Symbol 767 MovieClipUses:765 766Used by:768
Symbol 768 MovieClip {Stages.stage_08}Uses:329 331 510 335 340 347 761 762 344 377 376 400 764 767Used by:Timeline
Symbol 769 Sound {Fire_Start_Small}Used by:Timeline
Symbol 770 GraphicUsed by:772
Symbol 771 TextUses:4Used by:772
Symbol 772 MovieClipUses:770 771Used by:777
Symbol 773 GraphicUsed by:774
Symbol 774 MovieClip {Objects.JointRotor}Uses:773Used by:777 804 820 906
Symbol 775 GraphicUsed by:776
Symbol 776 MovieClip {Objects.JointStatic}Uses:775Used by:777 822 914
Symbol 777 MovieClip {Stages.stage_12}Uses:329 772 331 347 683 342 344 377 400 510 774 615 692 776Used by:Timeline
Symbol 778 GraphicUsed by:780
Symbol 779 TextUses:4Used by:780
Symbol 780 MovieClipUses:778 779Used by:784
Symbol 781 GraphicUsed by:782
Symbol 782 MovieClip {Objects.Treug_01}Uses:781Used by:784
Symbol 783 GraphicUsed by:784
Symbol 784 MovieClip {Stages.stage_16}Uses:329 331 405 780 410 412 414 654 782 692 783 344 376 377 663Used by:Timeline
Symbol 785 Sound {Star_Arrive}Used by:Timeline
Symbol 786 GraphicUsed by:787
Symbol 787 MovieClipUses:786Used by:792 906
Symbol 788 GraphicUsed by:790
Symbol 789 TextUses:4Used by:790
Symbol 790 MovieClipUses:788 789Used by:792 809
Symbol 791 GraphicUsed by:792
Symbol 792 MovieClip {Stages.stage_11}Uses:787 329 405 790 410 412 331 791 414 342 377 376 400Used by:Timeline
Symbol 793 GraphicUsed by:798
Symbol 794 GraphicUsed by:797
Symbol 795 TextUses:4Used by:797
Symbol 796 TextUses:4Used by:797
Symbol 797 MovieClip {ZomBlast_fla.Stage3_tutorial_150}Uses:794 795 796Used by:798
Symbol 798 MovieClip {Stages.stage_03}Uses:329 412 405 410 331 654 414 376 377 663 793 797Used by:Timeline
Symbol 799 Sound {Bum2_Sound}Used by:Timeline
Symbol 800 GraphicUsed by:802
Symbol 801 TextUses:4Used by:802
Symbol 802 MovieClipUses:800 801Used by:804
Symbol 803 GraphicUsed by:804
Symbol 804 MovieClip {Stages.stage_25}Uses:329 802 331 335 340 344 803 342 347 377 512 510 774 376 683 400Used by:Timeline
Symbol 805 GraphicUsed by:806
Symbol 806 MovieClip {Stages.stage_32}Uses:329 331 805 376 377 400Used by:Timeline
Symbol 807 Sound {Bum3_Sound}Used by:Timeline
Symbol 808 GraphicUsed by:809
Symbol 809 MovieClip {Stages.stage_09}Uses:329 405 410 412 790 331 512 414 808 342 344 377 376Used by:Timeline
Symbol 810 MovieClip {Stages.stage_29}Uses:329 331 654 340 335 342 344 377 376 663 510 347Used by:Timeline
Symbol 811 Sound {Bum4_Sound}Used by:Timeline
Symbol 812 MovieClip {Stages.stage_31}Uses:329 410 405 652 331 414 512 377 376 400Used by:Timeline
Symbol 813 GraphicUsed by:816
Symbol 814 TextUses:4Used by:816
Symbol 815 TextUses:4Used by:816
Symbol 816 MovieClipUses:813 814 815Used by:818 822
Symbol 817 GraphicUsed by:818
Symbol 818 MovieClip {Stages.stage_23}Uses:329 331 654 405 410 412 816 414 817 376 663 377 400Used by:Timeline
Symbol 819 Sound {Bum5_Sound}Used by:Timeline
Symbol 820 MovieClip {Stages.stage_26}Uses:329 652 410 331 414 340 335 377 376 510 774 512 344 347 400Used by:Timeline
Symbol 821 GraphicUsed by:822
Symbol 822 MovieClip {Stages.stage_21}Uses:329 412 405 410 816 331 512 663 776 692 654 414 821 377 376Used by:Timeline
Symbol 823 Sound {Bum6_Sound}Used by:Timeline
Symbol 824 GraphicUsed by:829
Symbol 825 GraphicUsed by:829
Symbol 826 FontUsed by:827 1109 1110 1112 1125 1126
Symbol 827 TextUses:826Used by:828
Symbol 828 MovieClip {ZomBlast_fla._33level_162}Uses:827Used by:829
Symbol 829 MovieClip {Stages.stage_33}Uses:329 410 405 331 414 512 692 340 335 824 376 377 825 828Used by:Timeline
Symbol 830 MovieClipUses:227 229 231 233 235 237Used by:847
Symbol 831 GraphicUsed by:837 841 842 844 845 846
Symbol 832 GraphicUsed by:837 841 842 845 846
Symbol 833 GraphicUsed by:837 841 842 845 846
Symbol 834 GraphicUsed by:837 841 842 845 846
Symbol 835 GraphicUsed by:837 841 842 845 846
Symbol 836 GraphicUsed by:837 841 842 845 846
Symbol 837 MovieClipUses:463 461 459 59 60 249 831 832 833 834 835 836Used by:847
Symbol 838 GraphicUsed by:839
Symbol 839 MovieClipUses:838Used by:840
Symbol 840 MovieClipUses:459 463 461 59 60 839Used by:847
Symbol 841 MovieClipUses:463 461 459 59 60 249 831 832 833 834 835 836Used by:847
Symbol 842 MovieClipUses:463 461 459 59 60 249 831 832 833 834 835 836Used by:847
Symbol 843 GraphicUsed by:844
Symbol 844 MovieClip {ZomBlast_fla.Man6_Static4_174}Uses:463 461 459 59 60 457 831 843Used by:847
Symbol 845 MovieClipUses:463 461 459 59 60 249 831 832 833 834 835 836Used by:847
Symbol 846 MovieClipUses:463 461 459 59 60 249 831 832 833 834 835 836Used by:847
Symbol 847 MovieClip {Objects.Man_06}Uses:225 830 837 840 841 842 844 845 846Used by:899
Symbol 848 GraphicUsed by:899
Symbol 849 GraphicUsed by:862
Symbol 850 GraphicUsed by:851
Symbol 851 MovieClipUses:850Used by:852
Symbol 852 MovieClip {Objects.Migalka_Med}Uses:851Used by:862
Symbol 853 GraphicUsed by:861
Symbol 854 GraphicUsed by:861
Symbol 855 GraphicUsed by:861
Symbol 856 GraphicUsed by:861
Symbol 857 GraphicUsed by:861
Symbol 858 GraphicUsed by:861
Symbol 859 GraphicUsed by:861
Symbol 860 GraphicUsed by:861
Symbol 861 MovieClipUses:853 854 855 856 857 858 859 860Used by:862
Symbol 862 MovieClipUses:849 852 861Used by:896
Symbol 863 BitmapUsed by:864
Symbol 864 GraphicUses:863Used by:893
Symbol 865 BitmapUsed by:866
Symbol 866 GraphicUses:865Used by:893
Symbol 867 BitmapUsed by:868
Symbol 868 GraphicUses:867Used by:893
Symbol 869 BitmapUsed by:870
Symbol 870 GraphicUses:869Used by:893
Symbol 871 BitmapUsed by:872
Symbol 872 GraphicUses:871Used by:893
Symbol 873 BitmapUsed by:874
Symbol 874 GraphicUses:873Used by:893
Symbol 875 BitmapUsed by:876
Symbol 876 GraphicUses:875Used by:893
Symbol 877 BitmapUsed by:878
Symbol 878 GraphicUses:877Used by:893
Symbol 879 BitmapUsed by:880
Symbol 880 GraphicUses:879Used by:893
Symbol 881 BitmapUsed by:882
Symbol 882 GraphicUses:881Used by:893
Symbol 883 BitmapUsed by:884
Symbol 884 GraphicUses:883Used by:893
Symbol 885 BitmapUsed by:886
Symbol 886 GraphicUses:885Used by:893
Symbol 887 BitmapUsed by:888
Symbol 888 GraphicUses:887Used by:893
Symbol 889 BitmapUsed by:890
Symbol 890 GraphicUses:889Used by:893
Symbol 891 BitmapUsed by:892
Symbol 892 GraphicUses:891Used by:893
Symbol 893 MovieClipUses:864 866 868 870 872 874 876 878 880 882 884 886 888 890 892Used by:894
Symbol 894 MovieClipUses:893Used by:895
Symbol 895 MovieClipUses:894Used by:896
Symbol 896 MovieClipUses:862 895 294Used by:898
Symbol 897 MovieClipUses:296Used by:898 938
Symbol 898 MovieClip {Objects.Car3_Back}Uses:283 285 896 897Used by:899
Symbol 899 MovieClip {Stages.stage_13}Uses:329 410 405 331 663 654 414 847 702 347 342 344 848 898Used by:Timeline
Symbol 900 Sound {CrackSound1}Used by:Timeline
Symbol 901 GraphicUsed by:902
Symbol 902 MovieClip {Stages.stage_14}Uses:329 405 412 410 331 654 414 901 377 663 376 400Used by:Timeline
Symbol 903 Sound {CrackSound2}Used by:Timeline
Symbol 904 GraphicUsed by:906
Symbol 905 GraphicUsed by:906
Symbol 906 MovieClip {Stages.stage_10}Uses:787 329 510 331 663 654 615 774 512 692 342 344 904 905 377Used by:Timeline
Symbol 907 Sound {CrackSound3}Used by:Timeline
Symbol 908 GraphicUsed by:910
Symbol 909 TextUses:4Used by:910
Symbol 910 MovieClipUses:908 909Used by:912
Symbol 911 GraphicUsed by:912
Symbol 912 MovieClip {Stages.stage_27}Uses:329 410 405 412 910 331 654 414 911 344 663 376 377Used by:Timeline
Symbol 913 Sound {BreakingSound}Used by:Timeline
Symbol 914 MovieClip {Stages.stage_22}Uses:329 331 335 403 512 692 776 342 344 347 377 376 340Used by:Timeline
Symbol 915 Sound {GasBigSound}Used by:Timeline
Symbol 916 GraphicUsed by:917
Symbol 917 MovieClip {Stages.stage_28}Uses:329 410 405 331 654 340 414 916 376 377 663 335 512Used by:Timeline
Symbol 918 Sound {GasSmallSound}Used by:Timeline
Symbol 919 GraphicUsed by:929
Symbol 920 GraphicUsed by:921
Symbol 921 MovieClipUses:920Used by:929
Symbol 922 TextUses:4Used by:929
Symbol 923 TextUses:4Used by:929
Symbol 924 GraphicUsed by:929
Symbol 925 GraphicUsed by:929
Symbol 926 BitmapUsed by:927
Symbol 927 GraphicUses:926Used by:929
Symbol 928 GraphicUsed by:929
Symbol 929 ButtonUses:919 921 922 923 924 925 927 928Used by:930
Symbol 930 MovieClipUses:929Used by:931
Symbol 931 MovieClip {Stages.stage_17}Uses:329 930 331 654 342 344 347 683 376 663Used by:Timeline
Symbol 932 Sound {ExplosionSound}Used by:Timeline
Symbol 933 Sound {GoldSound}Used by:Timeline
Symbol 934 Sound {RestartSound}Used by:Timeline
Symbol 935 GraphicUsed by:936
Symbol 936 MovieClipUses:935Used by:937
Symbol 937 MovieClipUses:936 294 292Used by:938
Symbol 938 MovieClip {Objects.Car4_Back}Uses:283 285 897 937Used by:Timeline
Symbol 939 Sound {Explosion2Sound}Used by:Timeline
Symbol 940 Sound {WinSound}Used by:Timeline
Symbol 941 Sound {LogoMusic}Used by:Timeline
Symbol 942 Sound {LoveMusic}Used by:Timeline
Symbol 943 Sound {Music2}Used by:Timeline
Symbol 944 Sound {Music1}Used by:Timeline
Symbol 945 Sound {SimpsonsMusic}Used by:Timeline
Symbol 946 GraphicUses:560 320Used by:Timeline
Symbol 947 SoundUsed by:960
Symbol 948 SoundUsed by:960
Symbol 949 GraphicUsed by:960
Symbol 950 GraphicUsed by:951
Symbol 951 MovieClipUses:950Used by:960
Symbol 952 SoundUsed by:960
Symbol 953 SoundUsed by:960
Symbol 954 SoundUsed by:960
Symbol 955 SoundUsed by:960
Symbol 956 GraphicUsed by:957
Symbol 957 MovieClipUses:956Used by:960
Symbol 958 SoundUsed by:960
Symbol 959 SoundUsed by:960
Symbol 960 MovieClip {ZomBlast_fla.ag_intro_mc_212}Uses:607 608 609 611 947 948 949 951 952 953 954 955 957 958 959Used by:Timeline
Symbol 961 GraphicUsed by:967
Symbol 962 GraphicUsed by:963 1070
Symbol 963 MovieClipUses:962Used by:967 1070
Symbol 964 GraphicUsed by:965 1070
Symbol 965 MovieClipUses:964Used by:967 1070
Symbol 966 ShapeTweeningUsed by:967
Symbol 967 MovieClip {ZomBlast_fla.logo_newstage_215}Uses:961 963 965 966Used by:Timeline
Symbol 968 GraphicUsed by:969
Symbol 969 Button {gui.SplashButton2}Uses:968Used by:Timeline
Symbol 970 TextUses:4Used by:971 1091
Symbol 971 MovieClipUses:970Used by:1091
Symbol 972 BitmapUsed by:973
Symbol 973 GraphicUses:972 327 320Used by:1091
Symbol 974 GraphicUsed by:975
Symbol 975 MovieClipUses:974Used by:976
Symbol 976 MovieClipUses:570 572 574 575 576 975 581 582 599Used by:1091
Symbol 977 GraphicUsed by:978
Symbol 978 MovieClipUses:977Used by:990
Symbol 979 GraphicUsed by:989
Symbol 980 GraphicUsed by:989
Symbol 981 GraphicUsed by:989
Symbol 982 GraphicUsed by:989
Symbol 983 GraphicUsed by:989
Symbol 984 GraphicUsed by:989
Symbol 985 GraphicUsed by:989
Symbol 986 GraphicUsed by:989
Symbol 987 GraphicUsed by:989
Symbol 988 GraphicUsed by:989
Symbol 989 MovieClipUses:979 980 585 981 982 983 984 985 986 987 988Used by:990 993
Symbol 990 MovieClipUses:570 572 574 575 576 978 581 582 989Used by:1091
Symbol 991 GraphicUsed by:992
Symbol 992 MovieClipUses:991Used by:993
Symbol 993 MovieClipUses:570 572 574 575 576 992 581 582 989Used by:1091
Symbol 994 GraphicUsed by:996
Symbol 995 TextUses:4Used by:996
Symbol 996 MovieClipUses:994 995Used by:997
Symbol 997 MovieClipUses:570 572 574 575 576 996 581 582 599Used by:1091
Symbol 998 GraphicUsed by:1000
Symbol 999 GraphicUsed by:1000
Symbol 1000 Button {StageButton}Uses:998 999Used by:1002
Symbol 1001 MovieClipUses:173Used by:1002
Symbol 1002 MovieClip {gui.StageButtonClip}Uses:1000 318 316 1001Used by:1091
Symbol 1003 TextUses:180Used by:1091
Symbol 1004 TextUses:180Used by:1091
Symbol 1005 TextUses:180Used by:1091
Symbol 1006 TextUses:180Used by:1091
Symbol 1007 TextUses:180Used by:1091
Symbol 1008 TextUses:180Used by:1091
Symbol 1009 TextUses:180Used by:1091
Symbol 1010 TextUses:180Used by:1091
Symbol 1011 TextUses:180Used by:1091
Symbol 1012 TextUses:180Used by:1091
Symbol 1013 TextUses:180Used by:1091
Symbol 1014 TextUses:180Used by:1091
Symbol 1015 TextUses:180Used by:1091
Symbol 1016 TextUses:180Used by:1091
Symbol 1017 TextUses:180Used by:1091
Symbol 1018 TextUses:180Used by:1091
Symbol 1019 TextUses:180Used by:1091
Symbol 1020 TextUses:180Used by:1091
Symbol 1021 TextUses:180Used by:1091
Symbol 1022 TextUses:180Used by:1091
Symbol 1023 TextUses:180Used by:1091
Symbol 1024 TextUses:180Used by:1091
Symbol 1025 TextUses:180Used by:1091
Symbol 1026 TextUses:180Used by:1091
Symbol 1027 TextUses:180Used by:1091
Symbol 1028 TextUses:180Used by:1091
Symbol 1029 TextUses:180Used by:1091
Symbol 1030 TextUses:180Used by:1091
Symbol 1031 TextUses:180Used by:1091
Symbol 1032 TextUses:180Used by:1091
Symbol 1033 GraphicUsed by:1037
Symbol 1034 GraphicUsed by:1037
Symbol 1035 GraphicUsed by:1037
Symbol 1036 GraphicUsed by:1037
Symbol 1037 Button {BackButton}Uses:1033 1034 1035 1036Used by:1091 1127
Symbol 1038 TextUses:180Used by:1091
Symbol 1039 TextUses:180Used by:1091
Symbol 1040 TextUses:180Used by:1091
Symbol 1041 TextUses:180Used by:1091
Symbol 1042 TextUses:180Used by:1091
Symbol 1043 TextUses:563Used by:1091
Symbol 1044 GraphicUsed by:1048
Symbol 1045 GraphicUsed by:1048
Symbol 1046 GraphicUsed by:1048
Symbol 1047 GraphicUsed by:1048
Symbol 1048 Button {PlayButton}Uses:1044 1045 1046 1047Used by:1091
Symbol 1049 GraphicUsed by:1053
Symbol 1050 GraphicUsed by:1053
Symbol 1051 GraphicUsed by:1053
Symbol 1052 GraphicUsed by:1053
Symbol 1053 Button {MoreGamesButton}Uses:1049 1050 1051 1052Used by:1091
Symbol 1054 TextUses:563Used by:1055 1056
Symbol 1055 MovieClip {ZomBlast_fla.CreditsButtonAnim_240}Uses:1054Used by:1056
Symbol 1056 ButtonUses:1055 1054Used by:1091
Symbol 1057 GraphicUsed by:1058
Symbol 1058 MovieClipUses:1057Used by:1067 1131
Symbol 1059 GraphicUsed by:1067
Symbol 1060 GraphicUsed by:1062
Symbol 1061 GraphicUsed by:1062
Symbol 1062 MovieClipUses:1060 1061Used by:1067
Symbol 1063 GraphicUsed by:1064
Symbol 1064 MovieClipUses:1063Used by:1066
Symbol 1065 EditableTextUses:4Used by:1066
Symbol 1066 MovieClipUses:1064 1065Used by:1067 1131
Symbol 1067 MovieClip {Objects.ZombikClip}Uses:1058 1059 358 360 362 164 1062 366 1066Used by:1091
Symbol 1068 GraphicUsed by:1070
Symbol 1069 GraphicUsed by:1070
Symbol 1070 Button {NewStagebutton}Uses:1068 965 963 1069 962 964Used by:1091
Symbol 1071 TextUses:563Used by:1074 1075 1076
Symbol 1072 TextUses:563Used by:1074 1075 1076
Symbol 1073 TextUses:563Used by:1074 1075 1076
Symbol 1074 MovieClipUses:1071 1072 1073Used by:1091
Symbol 1075 MovieClipUses:1071 1072 1073Used by:1091
Symbol 1076 MovieClip {ZomBlast_fla.Tween10_249}Uses:1071 1072 1073Used by:1091
Symbol 1077 GraphicUsed by:1091
Symbol 1078 GraphicUsed by:1091
Symbol 1079 GraphicUsed by:1091
Symbol 1080 GraphicUsed by:1091
Symbol 1081 GraphicUsed by:1091
Symbol 1082 GraphicUsed by:1091
Symbol 1083 GraphicUsed by:1091
Symbol 1084 GraphicUsed by:1091
Symbol 1085 GraphicUsed by:1086
Symbol 1086 MovieClipUses:1085Used by:1091
Symbol 1087 GraphicUsed by:1091
Symbol 1088 GraphicUsed by:1089
Symbol 1089 MovieClipUses:1088Used by:1091
Symbol 1090 TextUses:4Used by:1091
Symbol 1091 MovieClip {gui.LevelsButtonsClip}Uses:971 970 973 976 990 993 997 405 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1037 1038 1039 1040 1041 1042 1043 1048 1053 1056 1067 1070 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1086 1087 1089 613 1090Used by:Timeline
Symbol 1092 GraphicUsed by:1095
Symbol 1093 GraphicUsed by:1095
Symbol 1094 GraphicUsed by:1095 1097
Symbol 1095 MovieClip {gui.SoundButton}Uses:1092 1093 1094Used by:1123  Timeline
Symbol 1096 GraphicUsed by:1097
Symbol 1097 MovieClip {gui.MusicButton}Uses:1096 1094Used by:1123  Timeline
Symbol 1098 GraphicUsed by:1100
Symbol 1099 MovieClipUsed by:1100 1114
Symbol 1100 MovieClip {gui.GamePoint}Uses:1098 1099Used by:Timeline
Symbol 1101 GraphicUsed by:1106
Symbol 1102 TextUses:311Used by:1106
Symbol 1103 GraphicUsed by:1106
Symbol 1104 GraphicUsed by:1106
Symbol 1105 GraphicUsed by:1106
Symbol 1106 Button {gui.GMButtonWalk}Uses:1101 1102 1103 1104 1105Used by:1123
Symbol 1107 GraphicUsed by:1113
Symbol 1108 TextUses:311Used by:1113
Symbol 1109 EditableTextUses:826Used by:1113
Symbol 1110 EditableTextUses:826Used by:1113
Symbol 1111 TextUses:311Used by:1113
Symbol 1112 EditableTextUses:826Used by:1113
Symbol 1113 MovieClip {gui.LevelNumber}Uses:1107 1108 1109 1110 1111 1112Used by:1123
Symbol 1114 MovieClipUses:1099Used by:1123
Symbol 1115 GraphicUsed by:1116
Symbol 1116 MovieClipUses:1115Used by:1117
Symbol 1117 MovieClip {gui.ObjectsPanel}Uses:1116Used by:1123
Symbol 1118 GraphicUsed by:1119
Symbol 1119 Button {gui.NextButton}Uses:1118Used by:1122
Symbol 1120 GraphicUsed by:1121
Symbol 1121 MovieClip {ZomBlast_fla.next_268}Uses:1120Used by:1122
Symbol 1122 MovieClip {gui.WinMenu}Uses:1119 1121Used by:1123
Symbol 1123 MovieClip {gui.GameGUI}Uses:1095 1097 1106 1113 1114 314 1117 1122Used by:Timeline
Symbol 1124 TextUses:180Used by:Timeline
Symbol 1125 TextUses:826Used by:1127
Symbol 1126 TextUses:826Used by:1127
Symbol 1127 MovieClip {ZomBlast_fla.FinalButtonBack_270}Uses:1037 1125 1126Used by:1131
Symbol 1128 GraphicUsed by:1129
Symbol 1129 MovieClipUses:1128Used by:1130
Symbol 1130 MovieClipUses:1129 672 674 675 676 677 611 678Used by:1131
Symbol 1131 MovieClip {Objects.ZombikFinal}Uses:1058 1127 1130 1066Used by:Timeline

Instance Names

"SoundButton"Frame 65Symbol 1095 MovieClip {gui.SoundButton}
"SoundButton"Frame 65Symbol 1097 MovieClip {gui.MusicButton}
"GamePoint"Frame 75Symbol 1100 MovieClip {gui.GamePoint}
"GameGUI"Frame 75Symbol 1123 MovieClip {gui.GameGUI}
"SoundButton"Frame 85Symbol 1095 MovieClip {gui.SoundButton}
"SoundButton"Frame 85Symbol 1097 MovieClip {gui.MusicButton}
"bg"Frame 105Symbol 329 MovieClip
"TText"Symbol 6 MovieClip Frame 1Symbol 5 EditableText
"TextAnim"Symbol 7 MovieClip {Objects.TalkClip} Frame 1Symbol 6 MovieClip
"Blood"Symbol 53 MovieClip {Man_08_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 54 MovieClip {Man_08_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 57 MovieClip {Man_07_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 58 MovieClip {Man_07_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 61 MovieClip {Man_06_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 62 MovieClip {Man_06_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 64 MovieClip {Man_05_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 66 MovieClip {Man_05_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 105 MovieClip {Man_05_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 108 MovieClip {Man_05_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 109 MovieClip {Man_05_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 111 MovieClip {Man_05_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 111 MovieClip {Man_05_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 111 MovieClip {Man_05_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 111 MovieClip {Man_05_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 111 MovieClip {Man_05_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 114 MovieClip {Man_04_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 115 MovieClip {Man_04_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 118 MovieClip {Man_03_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 119 MovieClip {Man_03_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 121 MovieClip {Man_02_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 123 MovieClip {Man_02_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 163 MovieClip {Man_02_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 166 MovieClip {Man_02_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 167 MovieClip {Man_02_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 169 MovieClip {Man_02_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 169 MovieClip {Man_02_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 169 MovieClip {Man_02_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 169 MovieClip {Man_02_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 169 MovieClip {Man_02_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 170 MovieClip {Man_01_Hand2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 171 MovieClip {Man_01_Hand1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 217 MovieClip {Man_08_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 219 MovieClip {Man_08_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 219 MovieClip {Man_08_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 219 MovieClip {Man_08_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 219 MovieClip {Man_08_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 219 MovieClip {Man_08_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 221 MovieClip {Man_08_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 223 MovieClip {Man_08_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Head"Symbol 238 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 238 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 238 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 238 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 238 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 238 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"BBox"Symbol 258 MovieClip {Objects.Man_08} Frame 1Symbol 225 MovieClip
"BBody"Symbol 258 MovieClip {Objects.Man_08} Frame 1Symbol 238 MovieClip
"Selector2"Symbol 281 MovieClip {Objects.Grenade} Frame 1Symbol 263 MovieClip {ZomBlast_fla.Selector_278}
"Selector"Symbol 281 MovieClip {Objects.Grenade} Frame 1Symbol 263 MovieClip {ZomBlast_fla.Selector_278}
"CenterBox"Symbol 281 MovieClip {Objects.Grenade} Frame 1Symbol 265 MovieClip
"Frag"Symbol 281 MovieClip {Objects.Grenade} Frame 1Symbol 272 Button {Frag_Button}
"BBum"Symbol 281 MovieClip {Objects.Grenade} Frame 1Symbol 280 Button
"smoke"Symbol 295 MovieClip Frame 1Symbol 292 MovieClip
"selector"Symbol 295 MovieClip Frame 1Symbol 294 MovieClip
"Box"Symbol 298 MovieClip {Objects.Car1} Frame 1Symbol 283 MovieClip
"Wheel1"Symbol 298 MovieClip {Objects.Car1} Frame 1Symbol 285 MovieClip
"Wheel2"Symbol 298 MovieClip {Objects.Car1} Frame 1Symbol 285 MovieClip
"IBox"Symbol 298 MovieClip {Objects.Car1} Frame 1Symbol 295 MovieClip
"IWheel1"Symbol 298 MovieClip {Objects.Car1} Frame 1Symbol 297 MovieClip
"IWheel2"Symbol 298 MovieClip {Objects.Car1} Frame 1Symbol 297 MovieClip
"MainMenu"Symbol 314 MovieClip {gui.GameMenu} Frame 1Symbol 306 Button {gui.GMButtonMenu}
"Head"Symbol 348 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 348 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 348 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 348 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 348 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 348 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"Blood"Symbol 358 MovieClip {Man_01_Leg1} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood"Symbol 360 MovieClip {Man_01_Leg2} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood_Head"Symbol 362 MovieClip {Man_01_Body} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood_RLeg"Symbol 362 MovieClip {Man_01_Body} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood_LLeg"Symbol 362 MovieClip {Man_01_Body} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood_RHand"Symbol 362 MovieClip {Man_01_Body} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood_LHand"Symbol 362 MovieClip {Man_01_Body} Frame 1Symbol 356 MovieClip {ZomBlast_fla.Blood_33}
"Blood"Symbol 365 MovieClip {Man_01_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"BBox"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 1Symbol 225 MovieClip
"BBody"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 1Symbol 348 MovieClip
"BBox"Symbol 377 MovieClip {Objects.Man_01} Frame 1Symbol 225 MovieClip
"BBody"Symbol 377 MovieClip {Objects.Man_01} Frame 1Symbol 348 MovieClip
"Head"Symbol 378 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 378 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 378 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 378 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 378 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 378 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"Blood"Symbol 380 MovieClip {Man_07_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 382 MovieClip {Man_07_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 384 MovieClip {Man_07_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 384 MovieClip {Man_07_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 384 MovieClip {Man_07_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 384 MovieClip {Man_07_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 384 MovieClip {Man_07_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 388 MovieClip {Man_07_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"BBox"Symbol 400 MovieClip {Objects.Man_07} Frame 1Symbol 225 MovieClip
"BBody"Symbol 400 MovieClip {Objects.Man_07} Frame 1Symbol 378 MovieClip
"bg"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 329 MovieClip
"SStatic1"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic2"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Static2"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static1"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Zombie_01"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Body2"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Body2"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_02"Symbol 401 MovieClip {Stages.stage_34} Frame 1Symbol 400 MovieClip {Objects.Man_07}
"bg"Symbol 416 MovieClip {Stages.stage_18} Frame 1Symbol 329 MovieClip
"Zombie_02"Symbol 416 MovieClip {Stages.stage_18} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 416 MovieClip {Stages.stage_18} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 418 MovieClip {Stages.stage_35} Frame 1Symbol 329 MovieClip
"Static1"Symbol 418 MovieClip {Stages.stage_35} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"SStatic1"Symbol 418 MovieClip {Stages.stage_35} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic1"Symbol 418 MovieClip {Stages.stage_35} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_02"Symbol 418 MovieClip {Stages.stage_35} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 418 MovieClip {Stages.stage_35} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Blood"Symbol 457 MovieClip {Man_06_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 459 MovieClip {Man_06_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 459 MovieClip {Man_06_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 459 MovieClip {Man_06_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 459 MovieClip {Man_06_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 459 MovieClip {Man_06_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 461 MovieClip {Man_06_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 463 MovieClip {Man_06_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 502 MovieClip {Man_04_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 504 MovieClip {Man_04_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 504 MovieClip {Man_04_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 504 MovieClip {Man_04_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 504 MovieClip {Man_04_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 504 MovieClip {Man_04_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 506 MovieClip {Man_04_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 508 MovieClip {Man_04_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 551 MovieClip {Man_03_Head} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_Head"Symbol 553 MovieClip {Man_03_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RLeg"Symbol 553 MovieClip {Man_03_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LLeg"Symbol 553 MovieClip {Man_03_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_RHand"Symbol 553 MovieClip {Man_03_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood_LHand"Symbol 553 MovieClip {Man_03_Body} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 555 MovieClip {Man_03_Leg2} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 557 MovieClip {Man_03_Leg1} Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 572 MovieClip Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"Blood"Symbol 574 MovieClip Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"LoadingText"Symbol 580 MovieClip Frame 1Symbol 579 EditableText
"LoadingSign"Symbol 600 MovieClip Frame 1Symbol 580 MovieClip
"BPlay"Symbol 601 MovieClip {gui.Preloader} Frame 1Symbol 568 Button
"LoadingMan"Symbol 601 MovieClip {gui.Preloader} Frame 1Symbol 600 MovieClip
"bg"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 329 MovieClip
"SStatic_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_03"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Static_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static_01"Symbol 616 MovieClip {Stages.stage_15} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Frag"Symbol 625 MovieClip Frame 1Symbol 269 MovieClip
"bg"Symbol 626 MovieClip {Stages.stage_01} Frame 1Symbol 329 MovieClip
"Zombie_01"Symbol 626 MovieClip {Stages.stage_01} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Tutorial"Symbol 626 MovieClip {Stages.stage_01} Frame 1Symbol 624 MovieClip {ZomBlast_fla.Stage1_bonus1_69}
"GrenPlace"Symbol 626 MovieClip {Stages.stage_01} Frame 1Symbol 625 MovieClip
"Head"Symbol 630 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 630 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 630 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 630 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 630 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 630 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"BBox"Symbol 638 MovieClip {Objects.Man_03} Frame 1Symbol 225 MovieClip
"BBody"Symbol 638 MovieClip {Objects.Man_03} Frame 1Symbol 630 MovieClip
"bg"Symbol 643 MovieClip {Stages.stage_05} Frame 1Symbol 329 MovieClip
"Zombie_01"Symbol 643 MovieClip {Stages.stage_05} Frame 1Symbol 638 MovieClip {Objects.Man_03}
"Zombie_02"Symbol 643 MovieClip {Stages.stage_05} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 649 MovieClip {Stages.stage_02} Frame 1Symbol 329 MovieClip
"Tutorial"Symbol 649 MovieClip {Stages.stage_02} Frame 1Symbol 648 MovieClip {ZomBlast_fla.Stage2_tutorial_90}
"Zombie_02"Symbol 649 MovieClip {Stages.stage_02} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_03"Symbol 649 MovieClip {Stages.stage_02} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 649 MovieClip {Stages.stage_02} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Selector"Symbol 663 MovieClip {Objects.Explosive_1} Frame 1Symbol 657 MovieClip {ZomBlast_fla.Selector_Quad_95}
"bg"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Explosive1"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_02"Symbol 664 MovieClip {Stages.stage_30} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Blood"Symbol 672 MovieClip Frame 1Symbol 50 MovieClip {ZomBlast_fla.Blood_6}
"bg"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Explosive1"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_02"Symbol 681 MovieClip {Stages.stage_19} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"bg"Symbol 685 MovieClip {Stages.stage_24} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 685 MovieClip {Stages.stage_24} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 685 MovieClip {Stages.stage_24} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 685 MovieClip {Stages.stage_24} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 685 MovieClip {Stages.stage_24} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Explosive1"Symbol 685 MovieClip {Stages.stage_24} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"bg"Symbol 689 MovieClip {Stages.stage_07} Frame 1Symbol 329 MovieClip
"Zombie_01"Symbol 689 MovieClip {Stages.stage_07} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 329 MovieClip
"SStatic1"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic3"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic2"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic4"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_01"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Static1"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static3"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static4"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static2"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Zombie_03"Symbol 693 MovieClip {Stages.stage_20} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Head"Symbol 694 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 694 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 694 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 694 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 694 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 694 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"BBox"Symbol 702 MovieClip {Objects.Man_02} Frame 1Symbol 225 MovieClip
"BBody"Symbol 702 MovieClip {Objects.Man_02} Frame 1Symbol 694 MovieClip
"bg"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive6"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive6"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive4"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive5"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive6"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_03"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 702 MovieClip {Objects.Man_02}
"Zombie_01"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 702 MovieClip {Objects.Man_02}
"Zombie_04"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 702 MovieClip {Objects.Man_02}
"Zombie_02"Symbol 706 MovieClip {Stages.stage_04} Frame 1Symbol 702 MovieClip {Objects.Man_02}
"Head"Symbol 712 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 712 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 712 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 712 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 712 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 712 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"BBox"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 1Symbol 225 MovieClip
"BBody"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 1Symbol 712 MovieClip
"BBox"Symbol 759 MovieClip {Objects.Man_04} Frame 1Symbol 225 MovieClip
"BBody"Symbol 759 MovieClip {Objects.Man_04} Frame 1Symbol 712 MovieClip
"bg"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_04"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 758 MovieClip {Objects.Man_04_reverse}
"Zombie_02"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 758 MovieClip {Objects.Man_04_reverse}
"Zombie_01"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 759 MovieClip {Objects.Man_04}
"Zombie_05"Symbol 760 MovieClip {Stages.stage_06} Frame 1Symbol 759 MovieClip {Objects.Man_04}
"bg"Symbol 768 MovieClip {Stages.stage_08} Frame 1Symbol 329 MovieClip
"SStatic1"Symbol 768 MovieClip {Stages.stage_08} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Static1"Symbol 768 MovieClip {Stages.stage_08} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Zombie_03"Symbol 768 MovieClip {Stages.stage_08} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_02"Symbol 768 MovieClip {Stages.stage_08} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 768 MovieClip {Stages.stage_08} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 777 MovieClip {Stages.stage_12} Frame 1Symbol 329 MovieClip
"Zombie_01"Symbol 777 MovieClip {Stages.stage_12} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_02"Symbol 777 MovieClip {Stages.stage_12} Frame 1Symbol 400 MovieClip {Objects.Man_07}
"bg"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Explosive1"Symbol 784 MovieClip {Stages.stage_16} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"bg"Symbol 792 MovieClip {Stages.stage_11} Frame 1Symbol 329 MovieClip
"Zombie_01"Symbol 792 MovieClip {Stages.stage_11} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_02"Symbol 792 MovieClip {Stages.stage_11} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 329 MovieClip
"Explosive2"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Explosive3"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 798 MovieClip {Stages.stage_03} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"bg"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 329 MovieClip
"SStatic2"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Static2"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static1"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"SStatic1"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_01"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Rotor1"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 774 MovieClip {Objects.JointRotor}
"Rotor2"Symbol 804 MovieClip {Stages.stage_25} Frame 1Symbol 774 MovieClip {Objects.JointRotor}
"bg"Symbol 806 MovieClip {Stages.stage_32} Frame 1Symbol 329 MovieClip
"Zombie_01"Symbol 806 MovieClip {Stages.stage_32} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 806 MovieClip {Stages.stage_32} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"bg"Symbol 809 MovieClip {Stages.stage_09} Frame 1Symbol 329 MovieClip
"Zombie_02"Symbol 809 MovieClip {Stages.stage_09} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 809 MovieClip {Stages.stage_09} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 329 MovieClip
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Static1"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"SStatic1"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Explosive3"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_02"Symbol 810 MovieClip {Stages.stage_29} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"bg"Symbol 812 MovieClip {Stages.stage_31} Frame 1Symbol 329 MovieClip
"Zombie_03"Symbol 812 MovieClip {Stages.stage_31} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 812 MovieClip {Stages.stage_31} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 812 MovieClip {Stages.stage_31} Frame 1Symbol 400 MovieClip {Objects.Man_07}
"bg"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 329 MovieClip
"Explosive2"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Explosive2"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_03"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_02"Symbol 818 MovieClip {Stages.stage_23} Frame 1Symbol 400 MovieClip {Objects.Man_07}
"bg"Symbol 820 MovieClip {Stages.stage_26} Frame 1Symbol 329 MovieClip
"Static1"Symbol 820 MovieClip {Stages.stage_26} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"SStatic1"Symbol 820 MovieClip {Stages.stage_26} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_02"Symbol 820 MovieClip {Stages.stage_26} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 820 MovieClip {Stages.stage_26} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 822 MovieClip {Stages.stage_21} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 822 MovieClip {Stages.stage_21} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 822 MovieClip {Stages.stage_21} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 822 MovieClip {Stages.stage_21} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_02"Symbol 822 MovieClip {Stages.stage_21} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 822 MovieClip {Stages.stage_21} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 829 MovieClip {Stages.stage_33} Frame 1Symbol 329 MovieClip
"Static1"Symbol 829 MovieClip {Stages.stage_33} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"SStatic1"Symbol 829 MovieClip {Stages.stage_33} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_01"Symbol 829 MovieClip {Stages.stage_33} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 829 MovieClip {Stages.stage_33} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Head"Symbol 830 MovieClip Frame 1Symbol 227 MovieClip {Base_Head}
"Body"Symbol 830 MovieClip Frame 1Symbol 229 MovieClip {Base_Body}
"Hand1"Symbol 830 MovieClip Frame 1Symbol 231 MovieClip {Base_Hand1}
"Hand2"Symbol 830 MovieClip Frame 1Symbol 233 MovieClip {Base_Hand2}
"Leg1"Symbol 830 MovieClip Frame 1Symbol 235 MovieClip {Base_Leg1}
"Leg2"Symbol 830 MovieClip Frame 1Symbol 237 MovieClip {Base_Leg2}
"BBox"Symbol 847 MovieClip {Objects.Man_06} Frame 1Symbol 225 MovieClip
"BBody"Symbol 847 MovieClip {Objects.Man_06} Frame 1Symbol 830 MovieClip
"smoke"Symbol 896 MovieClip Frame 1Symbol 895 MovieClip
"selector"Symbol 896 MovieClip Frame 1Symbol 294 MovieClip
"Box"Symbol 898 MovieClip {Objects.Car3_Back} Frame 1Symbol 283 MovieClip
"Wheel1"Symbol 898 MovieClip {Objects.Car3_Back} Frame 1Symbol 285 MovieClip
"Wheel2"Symbol 898 MovieClip {Objects.Car3_Back} Frame 1Symbol 285 MovieClip
"IBox"Symbol 898 MovieClip {Objects.Car3_Back} Frame 1Symbol 896 MovieClip
"IWheel1"Symbol 898 MovieClip {Objects.Car3_Back} Frame 1Symbol 897 MovieClip
"IWheel2"Symbol 898 MovieClip {Objects.Car3_Back} Frame 1Symbol 897 MovieClip
"bg"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive4"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 847 MovieClip {Objects.Man_06}
"Zombie_02"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 847 MovieClip {Objects.Man_06}
"Zombie_03"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 847 MovieClip {Objects.Man_06}
"Zombie_04"Symbol 899 MovieClip {Stages.stage_13} Frame 1Symbol 898 MovieClip {Objects.Car3_Back}
"bg"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 329 MovieClip
"Explosive2"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive6"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive7"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive6"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive7"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive6"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_02"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Explosive2"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive4"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive5"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive6"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive7"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_03"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_01"Symbol 902 MovieClip {Stages.stage_14} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"bg"Symbol 906 MovieClip {Stages.stage_10} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 906 MovieClip {Stages.stage_10} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive1"Symbol 906 MovieClip {Stages.stage_10} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 906 MovieClip {Stages.stage_10} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 906 MovieClip {Stages.stage_10} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_02"Symbol 906 MovieClip {Stages.stage_10} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"bg"Symbol 912 MovieClip {Stages.stage_27} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 912 MovieClip {Stages.stage_27} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 912 MovieClip {Stages.stage_27} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 912 MovieClip {Stages.stage_27} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_02"Symbol 912 MovieClip {Stages.stage_27} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_01"Symbol 912 MovieClip {Stages.stage_27} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"bg"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 329 MovieClip
"SStatic2"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"SStatic1"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"Zombie_03"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Zombie_01"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Static2"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Static1"Symbol 914 MovieClip {Stages.stage_22} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"bg"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive4"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive5"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive6"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Static1"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 340 MovieClip {Objects.StaticTrigger}
"Explosive4"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_01"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_02"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 377 MovieClip {Objects.Man_01}
"Explosive1"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive4"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive5"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive6"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_03"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"SStatic1"Symbol 917 MovieClip {Stages.stage_28} Frame 1Symbol 335 MovieClip {Objects.BoxStaticRemovable}
"bg"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 329 MovieClip
"Explosive1"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive2"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive3"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Explosive1"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 654 MovieClip {Objects.Explosive_WorkPart}
"Zombie_03"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Zombie_01"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"Explosive1"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive2"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Explosive3"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 663 MovieClip {Objects.Explosive_1}
"Zombie_02"Symbol 931 MovieClip {Stages.stage_17} Frame 1Symbol 376 MovieClip {Objects.Man_01_reverse}
"selector"Symbol 937 MovieClip Frame 1Symbol 294 MovieClip
"smoke"Symbol 937 MovieClip Frame 1Symbol 292 MovieClip
"Box"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 283 MovieClip
"Wheel1"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 285 MovieClip
"Wheel2"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 285 MovieClip
"Wheel3"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 285 MovieClip
"Wheel4"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 285 MovieClip
"Wheel5"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 285 MovieClip
"IWheel2"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 897 MovieClip
"IWheel3"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 897 MovieClip
"IWheel4"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 897 MovieClip
"IBox"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 937 MovieClip
"IWheel1"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 897 MovieClip
"IWheel5"Symbol 938 MovieClip {Objects.Car4_Back} Frame 1Symbol 897 MovieClip
"BButton"Symbol 1002 MovieClip {gui.StageButtonClip} Frame 1Symbol 1000 Button {StageButton}
"Green"Symbol 1002 MovieClip {gui.StageButtonClip} Frame 1Symbol 318 MovieClip {GreenBarClip}
"Red"Symbol 1002 MovieClip {gui.StageButtonClip} Frame 1Symbol 316 MovieClip {RedLineClip}
"Good"Symbol 1002 MovieClip {gui.StageButtonClip} Frame 1Symbol 1001 MovieClip
"TText"Symbol 1066 MovieClip Frame 1Symbol 1065 EditableText
"Selector"Symbol 1067 MovieClip {Objects.ZombikClip} Frame 1Symbol 1058 MovieClip
"TalkClip"Symbol 1067 MovieClip {Objects.ZombikClip} Frame 1Symbol 1066 MovieClip
"stage_01"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_02"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_03"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_04"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_05"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_06"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_07"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_08"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_09"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_10"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_11"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_12"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_13"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_14"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_15"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_16"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_17"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_18"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_19"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_20"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_21"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_22"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_23"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_24"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_25"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_26"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_27"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_28"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_29"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_30"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"BackButton"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1037 Button {BackButton}
"stage_31"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_32"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_33"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_34"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"stage_35"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1002 MovieClip {gui.StageButtonClip}
"PlayButton"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1048 Button {PlayButton}
"WalkthroughButton"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1053 Button {MoreGamesButton}
"MoreGamesButton"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1053 Button {MoreGamesButton}
"CreditsButton"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1056 Button
"BackCreditsButton"Symbol 1091 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 1037 Button {BackButton}
"Marker"Symbol 1100 MovieClip {gui.GamePoint} Frame 1Symbol 1099 MovieClip
"scores_number_text"Symbol 1113 MovieClip {gui.LevelNumber} Frame 1Symbol 1109 EditableText
"scores2_number_text"Symbol 1113 MovieClip {gui.LevelNumber} Frame 1Symbol 1110 EditableText
"level_number_text"Symbol 1113 MovieClip {gui.LevelNumber} Frame 1Symbol 1112 EditableText
"Marker"Symbol 1114 MovieClip Frame 1Symbol 1099 MovieClip
"BG"Symbol 1117 MovieClip {gui.ObjectsPanel} Frame 1Symbol 1116 MovieClip
"MainMenu"Symbol 1122 MovieClip {gui.WinMenu} Frame 1Symbol 1119 Button {gui.NextButton}
"SoundButton"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 1095 MovieClip {gui.SoundButton}
"SoundButton"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 1097 MovieClip {gui.MusicButton}
"LevelNumber"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 1113 MovieClip {gui.LevelNumber}
"TalkPoint"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 1114 MovieClip
"GameMenu"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 314 MovieClip {gui.GameMenu}
"ObjectsPanel"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 1117 MovieClip {gui.ObjectsPanel}
"WinMenu"Symbol 1123 MovieClip {gui.GameGUI} Frame 1Symbol 1122 MovieClip {gui.WinMenu}
"BButton"Symbol 1127 MovieClip {ZomBlast_fla.FinalButtonBack_270} Frame 1Symbol 1037 Button {BackButton}
"Selector"Symbol 1131 MovieClip {Objects.ZombikFinal} Frame 1Symbol 1058 MovieClip
"FinalButton"Symbol 1131 MovieClip {Objects.ZombikFinal} Frame 1Symbol 1127 MovieClip {ZomBlast_fla.FinalButtonBack_270}
"TalkClip"Symbol 1131 MovieClip {Objects.ZombikFinal} Frame 1Symbol 1066 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$g5$6fhjSV8cYCNBLvuKUysVt/."

Labels

"Loading"Frame 1
"Splash"Frame 47
"Splash2"Frame 56
"Menu"Frame 65
"Game"Frame 75
"Locked"Frame 85
"Reset"Frame 95
"Final"Frame 105
"Static"Symbol 258 MovieClip {Objects.Man_08} Frame 1
"Fall"Symbol 258 MovieClip {Objects.Man_08} Frame 10
"Static2"Symbol 258 MovieClip {Objects.Man_08} Frame 20
"Static3"Symbol 258 MovieClip {Objects.Man_08} Frame 30
"Static4"Symbol 258 MovieClip {Objects.Man_08} Frame 40
"Over"Symbol 258 MovieClip {Objects.Man_08} Frame 50
"Neighbour"Symbol 258 MovieClip {Objects.Man_08} Frame 60
"Static"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 1
"Fall"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 10
"Static2"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 20
"Static3"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 30
"Static4"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 40
"Over"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 50
"Neighbour"Symbol 376 MovieClip {Objects.Man_01_reverse} Frame 60
"Static"Symbol 377 MovieClip {Objects.Man_01} Frame 1
"Fall"Symbol 377 MovieClip {Objects.Man_01} Frame 10
"Static2"Symbol 377 MovieClip {Objects.Man_01} Frame 20
"Static3"Symbol 377 MovieClip {Objects.Man_01} Frame 30
"Static4"Symbol 377 MovieClip {Objects.Man_01} Frame 40
"Over"Symbol 377 MovieClip {Objects.Man_01} Frame 50
"Neighbour"Symbol 377 MovieClip {Objects.Man_01} Frame 60
"Static"Symbol 400 MovieClip {Objects.Man_07} Frame 1
"Fall"Symbol 400 MovieClip {Objects.Man_07} Frame 10
"Static2"Symbol 400 MovieClip {Objects.Man_07} Frame 20
"Static3"Symbol 400 MovieClip {Objects.Man_07} Frame 30
"Static4"Symbol 400 MovieClip {Objects.Man_07} Frame 40
"Over"Symbol 400 MovieClip {Objects.Man_07} Frame 50
"Neighbour"Symbol 400 MovieClip {Objects.Man_07} Frame 60
"Scene"Symbol 638 MovieClip {Objects.Man_03} Frame 1
"Fall"Symbol 638 MovieClip {Objects.Man_03} Frame 10
"Static2"Symbol 638 MovieClip {Objects.Man_03} Frame 20
"Static3"Symbol 638 MovieClip {Objects.Man_03} Frame 30
"Static4"Symbol 638 MovieClip {Objects.Man_03} Frame 40
"Over"Symbol 638 MovieClip {Objects.Man_03} Frame 50
"Neighbour"Symbol 638 MovieClip {Objects.Man_03} Frame 60
"Static"Symbol 638 MovieClip {Objects.Man_03} Frame 70
"Static"Symbol 702 MovieClip {Objects.Man_02} Frame 1
"Fall"Symbol 702 MovieClip {Objects.Man_02} Frame 10
"Static2"Symbol 702 MovieClip {Objects.Man_02} Frame 20
"Static3"Symbol 702 MovieClip {Objects.Man_02} Frame 30
"Static4"Symbol 702 MovieClip {Objects.Man_02} Frame 40
"Over"Symbol 702 MovieClip {Objects.Man_02} Frame 50
"Neighbour"Symbol 702 MovieClip {Objects.Man_02} Frame 60
"Scene"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 1
"Fall"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 10
"Static2"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 20
"Static3"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 30
"Static4"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 40
"Over"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 50
"Neighbour"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 60
"Static"Symbol 758 MovieClip {Objects.Man_04_reverse} Frame 70
"Scene"Symbol 759 MovieClip {Objects.Man_04} Frame 1
"Fall"Symbol 759 MovieClip {Objects.Man_04} Frame 10
"Static2"Symbol 759 MovieClip {Objects.Man_04} Frame 20
"Static3"Symbol 759 MovieClip {Objects.Man_04} Frame 30
"Static4"Symbol 759 MovieClip {Objects.Man_04} Frame 40
"Over"Symbol 759 MovieClip {Objects.Man_04} Frame 50
"Neighbour"Symbol 759 MovieClip {Objects.Man_04} Frame 60
"Static"Symbol 759 MovieClip {Objects.Man_04} Frame 70
"Static"Symbol 847 MovieClip {Objects.Man_06} Frame 1
"Fall"Symbol 847 MovieClip {Objects.Man_06} Frame 10
"Static2"Symbol 847 MovieClip {Objects.Man_06} Frame 20
"Static3"Symbol 847 MovieClip {Objects.Man_06} Frame 30
"Static4"Symbol 847 MovieClip {Objects.Man_06} Frame 40
"Over"Symbol 847 MovieClip {Objects.Man_06} Frame 50
"Neighbour"Symbol 847 MovieClip {Objects.Man_06} Frame 60




https://swfchan.com/53/263196/info.shtml
Created: 18/3 -2026 17:25:48 Last modified: 18/3 -2026 17:25:48 Server time: 18/03 -2026 19:55:43