Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
public class b2CircleDef extends b2ShapeDef {
public var radius:Number;
public var localPosition:b2Vec2;
public function b2CircleDef(){
localPosition = new b2Vec2(0, 0);
super();
type = b2Shape.e_circleShape;
radius = 1;
}
}
}//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape)
package Box2D.Collision.Shapes {
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2CircleShape extends b2Shape {
public var m_localPosition:b2Vec2;
public var m_radius:Number;
public function b2CircleShape(_arg1:b2ShapeDef){
m_localPosition = new b2Vec2();
super(_arg1);
var _local2:b2CircleDef = (_arg1 as b2CircleDef);
m_type = e_circleShape;
m_localPosition.SetV(_local2.localPosition);
m_radius = _local2.radius;
}
override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):int{
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.y + ((_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){
_arg2[0] = 0;
return (e_startsInsideCollide);
};
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 (e_missCollide);
};
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 (e_hitCollide);
};
return (e_missCollide);
}
public function GetLocalPosition():b2Vec2{
return (m_localPosition);
}
public function GetRadius():Number{
return (m_radius);
}
override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{
var _local4:b2Mat22;
_local4 = _arg2.R;
var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y)));
var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y)));
_local4 = _arg3.R;
var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y)));
var _local8:Number = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y)));
_arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius));
_arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius));
}
override public function ComputeMass(_arg1:b2MassData):void{
_arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius);
_arg1.center.SetV(m_localPosition);
_arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y))));
}
override public function UpdateSweepRadius(_arg1:b2Vec2):void{
var _local2:Number = (m_localPosition.x - _arg1.x);
var _local3:Number = (m_localPosition.y - _arg1.y);
_local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop);
}
override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{
var _local3:b2Mat22 = _arg2.R;
var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y)));
var _local5:Number = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y)));
_arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius));
_arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius));
}
override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{
var _local3:b2Mat22 = _arg1.R;
var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y)));
var _local5:Number = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y)));
_local4 = (_arg2.x - _local4);
_local5 = (_arg2.y - _local5);
return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius)));
}
}
}//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData)
package Box2D.Collision.Shapes {
public class b2FilterData {
public var maskBits:uint;// = 0xFFFF
public var groupIndex:int;// = 0
public var categoryBits:uint;// = 1
public function Copy():b2FilterData{
var _local1:b2FilterData = new b2FilterData();
_local1.categoryBits = categoryBits;
_local1.maskBits = maskBits;
_local1.groupIndex = groupIndex;
return (_local1);
}
}
}//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
public class b2MassData {
public var mass:Number;// = 0
public var center:b2Vec2;
public var I:Number;// = 0
public function b2MassData(){
center = new b2Vec2(0, 0);
super();
}
}
}//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2PolygonDef extends b2ShapeDef {
public var vertices:Array;
public var vertexCount:int;
private static var s_mat:b2Mat22 = new b2Mat22();
public function b2PolygonDef(){
vertices = new Array(b2Settings.b2_maxPolygonVertices);
super();
type = b2Shape.e_polygonShape;
vertexCount = 0;
var _local1:int;
while (_local1 < b2Settings.b2_maxPolygonVertices) {
vertices[_local1] = new b2Vec2();
_local1++;
};
}
public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{
var _local5:b2Vec2;
var _local6:b2Mat22;
var _local7:int;
vertexCount = 4;
vertices[0].Set(-(_arg1), -(_arg2));
vertices[1].Set(_arg1, -(_arg2));
vertices[2].Set(_arg1, _arg2);
vertices[3].Set(-(_arg1), _arg2);
if (_arg3){
_local5 = _arg3;
_local6 = s_mat;
_local6.Set(_arg4);
_local7 = 0;
while (_local7 < vertexCount) {
_arg3 = vertices[_local7];
_arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y)));
_arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y)));
_arg3.x = _arg1;
_local7++;
};
};
}
public function SetAsBox(_arg1:Number, _arg2:Number):void{
vertexCount = 4;
vertices[0].Set(-(_arg1), -(_arg2));
vertices[1].Set(_arg1, -(_arg2));
vertices[2].Set(_arg1, _arg2);
vertices[3].Set(-(_arg1), _arg2);
}
}
}//package Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape)
package Box2D.Collision.Shapes {
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PolygonShape extends b2Shape {
public var m_coreVertices:Array;
public var m_vertices:Array;
private var s_supportVec:b2Vec2;
public var m_centroid:b2Vec2;
public var m_normals:Array;
public var m_obb:b2OBB;
public var m_vertexCount:int;
private static var s_computeMat:b2Mat22 = new b2Mat22();
private static var s_sweptAABB1:b2AABB = new b2AABB();
private static var s_sweptAABB2:b2AABB = new b2AABB();
public function b2PolygonShape(_arg1:b2ShapeDef){
var _local3:int;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
s_supportVec = new b2Vec2();
m_obb = new b2OBB();
m_vertices = new Array(b2Settings.b2_maxPolygonVertices);
m_normals = new Array(b2Settings.b2_maxPolygonVertices);
m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices);
super(_arg1);
m_type = e_polygonShape;
var _local2:b2PolygonDef = (_arg1 as b2PolygonDef);
m_vertexCount = _local2.vertexCount;
var _local4:int = _local3;
var _local5:int = _local3;
_local3 = 0;
while (_local3 < m_vertexCount) {
m_vertices[_local3] = _local2.vertices[_local3].Copy();
_local3++;
};
_local3 = 0;
while (_local3 < m_vertexCount) {
_local4 = _local3;
_local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0;
_local6 = (m_vertices[_local5].x - m_vertices[_local4].x);
_local7 = (m_vertices[_local5].y - m_vertices[_local4].y);
_local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8));
_local3++;
};
m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount);
ComputeOBB(m_obb, m_vertices, m_vertexCount);
_local3 = 0;
while (_local3 < m_vertexCount) {
_local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1);
_local5 = _local3;
_local9 = m_normals[_local4].x;
_local10 = m_normals[_local4].y;
_local11 = m_normals[_local5].x;
_local12 = m_normals[_local5].y;
_local13 = (m_vertices[_local3].x - m_centroid.x);
_local14 = (m_vertices[_local3].y - m_centroid.y);
_local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop);
_local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop);
_local17 = (1 / ((_local9 * _local12) - (_local10 * _local11)));
m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y));
_local3++;
};
}
override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{
var _local4:b2AABB = s_sweptAABB1;
var _local5:b2AABB = s_sweptAABB2;
ComputeAABB(_local4, _arg2);
ComputeAABB(_local5, _arg3);
_arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y);
_arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y);
}
public function GetVertices():Array{
return (m_vertices);
}
public function GetCoreVertices():Array{
return (m_coreVertices);
}
public function GetCentroid():b2Vec2{
return (m_centroid);
}
public function GetOBB():b2OBB{
return (m_obb);
}
public function GetFirstVertex(_arg1:b2XForm):b2Vec2{
return (b2Math.b2MulX(_arg1, m_coreVertices[0]));
}
public function Centroid(_arg1:b2XForm):b2Vec2{
return (b2Math.b2MulX(_arg1, m_centroid));
}
override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):int{
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 (e_missCollide);
};
_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 (e_hitCollide);
};
_arg2[0] = 0;
return (e_startsInsideCollide);
}
override public function ComputeMass(_arg1:b2MassData):void{
var _local10:b2Vec2;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local2:Number = 0;
var _local3:Number = 0;
var _local4:Number = 0;
var _local5:Number = 0;
var _local6:Number = 0;
var _local7:Number = 0;
var _local8:Number = (1 / 3);
var _local9:int;
while (_local9 < m_vertexCount) {
_local10 = m_vertices[_local9];
_local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0];
_local12 = (_local10.x - _local6);
_local13 = (_local10.y - _local7);
_local14 = (_local11.x - _local6);
_local15 = (_local11.y - _local7);
_local16 = ((_local12 * _local15) - (_local13 * _local14));
_local17 = (0.5 * _local16);
_local4 = (_local4 + _local17);
_local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x)));
_local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y)));
_local18 = _local6;
_local19 = _local7;
_local20 = _local12;
_local21 = _local13;
_local22 = _local14;
_local23 = _local15;
_local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18));
_local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19));
_local5 = (_local5 + (_local16 * (_local24 + _local25)));
_local9++;
};
_arg1.mass = (m_density * _local4);
_local2 = (_local2 * (1 / _local4));
_local3 = (_local3 * (1 / _local4));
_arg1.center.Set(_local2, _local3);
_arg1.I = (m_density * _local5);
}
public function GetNormals():Array{
return (m_normals);
}
public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{
var _local4:b2Vec2;
var _local5:b2Mat22;
var _local11:Number;
_local5 = _arg1.R;
var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y));
var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y));
var _local8:int;
_local4 = m_coreVertices[0];
var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7));
var _local10 = 1;
while (_local10 < m_vertexCount) {
_local4 = m_coreVertices[_local10];
_local11 = ((_local4.x * _local6) + (_local4.y * _local7));
if (_local11 > _local9){
_local8 = _local10;
_local9 = _local11;
};
_local10++;
};
_local5 = _arg1.R;
_local4 = m_coreVertices[_local8];
s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y)));
s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y)));
return (s_supportVec);
}
public function GetVertexCount():int{
return (m_vertexCount);
}
override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{
var _local3:b2Mat22;
var _local4:b2Vec2;
var _local5:b2Mat22 = s_computeMat;
_local3 = _arg2.R;
_local4 = m_obb.R.col1;
_local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
_local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
_local4 = m_obb.R.col2;
_local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
_local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
_local5.Abs();
var _local6:b2Mat22 = _local5;
_local4 = m_obb.extents;
var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y));
var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y));
_local3 = _arg2.R;
_local4 = m_obb.center;
var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)));
var _local10:Number = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)));
_arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8));
_arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8));
}
override public function UpdateSweepRadius(_arg1:b2Vec2):void{
var _local2:b2Vec2;
var _local4:Number;
var _local5:Number;
m_sweepRadius = 0;
var _local3:int;
while (_local3 < m_vertexCount) {
_local2 = m_coreVertices[_local3];
_local4 = (_local2.x - _arg1.x);
_local5 = (_local2.y - _arg1.y);
_local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
if (_local4 > m_sweepRadius){
m_sweepRadius = _local4;
};
_local3++;
};
}
override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{
var _local3:b2Vec2;
var _local10:Number;
var _local4:b2Mat22 = _arg1.R;
var _local5:Number = (_arg2.x - _arg1.position.x);
var _local6:Number = (_arg2.y - _arg1.position.y);
var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y));
var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y));
var _local9:int;
while (_local9 < m_vertexCount) {
_local3 = m_vertices[_local9];
_local5 = (_local7 - _local3.x);
_local6 = (_local8 - _local3.y);
_local3 = m_normals[_local9];
_local10 = ((_local3.x * _local5) + (_local3.y * _local6));
if (_local10 > 0){
return (false);
};
_local9++;
};
return (true);
}
public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{
var _local3:b2Vec2;
var _local7:Number;
var _local9:b2Vec2;
var _local10:b2Vec2;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
_local3 = new b2Vec2();
var _local4:Number = 0;
var _local5:Number = 0;
var _local6:Number = 0;
_local7 = (1 / 3);
var _local8:int;
while (_local8 < _arg2) {
_local9 = _arg1[_local8];
_local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0];
_local11 = (_local9.x - _local5);
_local12 = (_local9.y - _local6);
_local13 = (_local10.x - _local5);
_local14 = (_local10.y - _local6);
_local15 = ((_local11 * _local14) - (_local12 * _local13));
_local16 = (0.5 * _local15);
_local4 = (_local4 + _local16);
_local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x)));
_local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y)));
_local8++;
};
_local3.x = (_local3.x * (1 / _local4));
_local3.y = (_local3.y * (1 / _local4));
return (_local3);
}
public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{
var _local4:int;
var _local7:b2Vec2;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:int;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:b2Mat22;
var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1));
_local4 = 0;
while (_local4 < _arg3) {
_local5[_local4] = _arg2[_local4];
_local4++;
};
_local5[_arg3] = _local5[0];
var _local6:Number = Number.MAX_VALUE;
_local4 = 1;
while (_local4 <= _arg3) {
_local7 = _local5[int((_local4 - 1))];
_local8 = (_local5[_local4].x - _local7.x);
_local9 = (_local5[_local4].y - _local7.y);
_local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
_local8 = (_local8 / _local10);
_local9 = (_local9 / _local10);
_local11 = -(_local9);
_local12 = _local8;
_local13 = Number.MAX_VALUE;
_local14 = Number.MAX_VALUE;
_local15 = -(Number.MAX_VALUE);
_local16 = -(Number.MAX_VALUE);
_local17 = 0;
while (_local17 < _arg3) {
_local19 = (_local5[_local17].x - _local7.x);
_local20 = (_local5[_local17].y - _local7.y);
_local21 = ((_local8 * _local19) + (_local9 * _local20));
_local22 = ((_local11 * _local19) + (_local12 * _local20));
if (_local21 < _local13){
_local13 = _local21;
};
if (_local22 < _local14){
_local14 = _local22;
};
if (_local21 > _local15){
_local15 = _local21;
};
if (_local22 > _local16){
_local16 = _local22;
};
_local17++;
};
_local18 = ((_local15 - _local13) * (_local16 - _local14));
if (_local18 < (0.95 * _local6)){
_local6 = _local18;
_arg1.R.col1.x = _local8;
_arg1.R.col1.y = _local9;
_arg1.R.col2.x = _local11;
_arg1.R.col2.y = _local12;
_local23 = (0.5 * (_local13 + _local15));
_local24 = (0.5 * (_local14 + _local16));
_local25 = _arg1.R;
_arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24)));
_arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24)));
_arg1.extents.x = (0.5 * (_local15 - _local13));
_arg1.extents.y = (0.5 * (_local16 - _local14));
};
_local4++;
};
}
}
}//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape)
package Box2D.Collision.Shapes {
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2Shape {
public var m_next:b2Shape;
public var m_type:int;
public var m_sweepRadius:Number;
public var m_density:Number;
public var m_filter:b2FilterData;
public var m_friction:Number;
public var m_isSensor:Boolean;
public var m_restitution:Number;
public var m_userData;
public var m_proxyId:uint;
public var m_body:b2Body;
public static const e_polygonShape:int = 1;
public static const e_hitCollide:int = 1;
public static const e_missCollide:int = 0;
public static const e_unknownShape:int = -1;
public static const e_circleShape:int = 0;
public static const e_shapeTypeCount:int = 2;
public static const e_startsInsideCollide:int = -1;
private static var s_resetAABB:b2AABB = new b2AABB();
private static var s_syncAABB:b2AABB = new b2AABB();
private static var s_proxyAABB:b2AABB = new b2AABB();
public function b2Shape(_arg1:b2ShapeDef){
m_userData = _arg1.userData;
m_friction = _arg1.friction;
m_restitution = _arg1.restitution;
m_density = _arg1.density;
m_body = null;
m_sweepRadius = 0;
m_next = null;
m_proxyId = b2Pair.b2_nullProxy;
m_filter = _arg1.filter.Copy();
m_isSensor = _arg1.isSensor;
}
public function SetUserData(_arg1):void{
m_userData = _arg1;
}
public function GetSweepRadius():Number{
return (m_sweepRadius);
}
public function GetNext():b2Shape{
return (m_next);
}
public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{
}
public function GetType():int{
return (m_type);
}
public function GetRestitution():Number{
return (m_restitution);
}
public function GetFriction():Number{
return (m_friction);
}
public function GetFilterData():b2FilterData{
return (m_filter.Copy());
}
public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):int{
return (e_missCollide);
}
public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{
if (m_proxyId == b2Pair.b2_nullProxy){
return;
};
_arg1.DestroyProxy(m_proxyId);
var _local3:b2AABB = s_resetAABB;
ComputeAABB(_local3, _arg2);
var _local4:Boolean = _arg1.InRange(_local3);
if (_local4){
m_proxyId = _arg1.CreateProxy(_local3, this);
} else {
m_proxyId = b2Pair.b2_nullProxy;
};
}
public function SetFilterData(_arg1:b2FilterData):void{
m_filter = _arg1.Copy();
}
public function GetUserData(){
return (m_userData);
}
public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{
if (m_proxyId == b2Pair.b2_nullProxy){
return (false);
};
var _local4:b2AABB = s_syncAABB;
ComputeSweptAABB(_local4, _arg2, _arg3);
if (_arg1.InRange(_local4)){
_arg1.MoveProxy(m_proxyId, _local4);
return (true);
};
return (false);
}
public function ComputeMass(_arg1:b2MassData):void{
}
public function IsSensor():Boolean{
return (m_isSensor);
}
public function DestroyProxy(_arg1:b2BroadPhase):void{
if (m_proxyId != b2Pair.b2_nullProxy){
_arg1.DestroyProxy(m_proxyId);
m_proxyId = b2Pair.b2_nullProxy;
};
}
public function UpdateSweepRadius(_arg1:b2Vec2):void{
}
public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{
}
public function GetBody():b2Body{
return (m_body);
}
public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{
var _local3:b2AABB = s_proxyAABB;
ComputeAABB(_local3, _arg2);
var _local4:Boolean = _arg1.InRange(_local3);
if (_local4){
m_proxyId = _arg1.CreateProxy(_local3, this);
} else {
m_proxyId = b2Pair.b2_nullProxy;
};
}
public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{
return (false);
}
public static function Destroy(_arg1:b2Shape, _arg2):void{
}
public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{
switch (_arg1.type){
case e_circleShape:
return (new b2CircleShape(_arg1));
case e_polygonShape:
return (new b2PolygonShape(_arg1));
default:
return (null);
};
}
}
}//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef)
package Box2D.Collision.Shapes {
public class b2ShapeDef {
public var friction:Number;// = 0.2
public var isSensor:Boolean;// = false
public var density:Number;// = 0
public var restitution:Number;// = 0
public var userData;// = null
public var filter:b2FilterData;
public var type:int;
public function b2ShapeDef(){
type = b2Shape.e_unknownShape;
filter = new b2FilterData();
super();
}
}
}//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class b2AABB {
public var upperBound:b2Vec2;
public var lowerBound:b2Vec2;
public function b2AABB(){
lowerBound = new b2Vec2();
upperBound = new b2Vec2();
super();
}
public function IsValid():Boolean{
var _local1:Number = (upperBound.x - lowerBound.x);
var _local2:Number = (upperBound.y - lowerBound.y);
var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0)));
_local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid()));
return (_local3);
}
}
}//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound)
package Box2D.Collision {
public class b2Bound {
public var value:uint;
public var proxyId:uint;
public var stabbingCount:uint;
public function Swap(_arg1:b2Bound):void{
var _local2:uint = value;
var _local3:uint = proxyId;
var _local4:uint = stabbingCount;
value = _arg1.value;
proxyId = _arg1.proxyId;
stabbingCount = _arg1.stabbingCount;
_arg1.value = _local2;
_arg1.proxyId = _local3;
_arg1.stabbingCount = _local4;
}
public function IsLower():Boolean{
return (((value & 1) == 0));
}
public function IsUpper():Boolean{
return (((value & 1) == 1));
}
}
}//package Box2D.Collision
Section 11
//b2BoundValues (Box2D.Collision.b2BoundValues)
package Box2D.Collision {
public class b2BoundValues {
public var lowerValues:Array;
public var upperValues:Array;
public function b2BoundValues(){
lowerValues = [0, 0];
upperValues = [0, 0];
super();
}
}
}//package Box2D.Collision
Section 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2BroadPhase {
public var m_bounds:Array;
public var m_worldAABB:b2AABB;
public var m_querySortKeys:Array;
public var m_freeProxy:uint;
public var m_quantizationFactor:b2Vec2;
public var m_proxyCount:int;
public var m_proxyPool:Array;
public var m_queryResultCount:int;
public var m_pairManager:b2PairManager;
public var m_timeStamp:uint;
public var m_queryResults:Array;
public static const b2_nullEdge:uint = 0xFFFF;
public static const b2_invalid:uint = 0xFFFF;
public static var s_validate:Boolean = false;
public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){
var _local3:int;
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_querySortKeys = new Array(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;
m_querySortKeys[_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);
var _local5:Number = (_arg1.upperBound.y - _arg1.lowerBound.y);
m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4);
m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5);
_local3 = 0;
while (_local3 < (b2Settings.b2_maxProxies - 1)) {
_local6 = new b2Proxy();
m_proxyPool[_local3] = _local6;
_local6.SetNext((_local3 + 1));
_local6.timeStamp = 0;
_local6.overlapCount = b2_invalid;
_local6.userData = null;
_local3++;
};
_local6 = new b2Proxy();
m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6;
_local6.SetNext(b2Pair.b2_nullProxy);
_local6.timeStamp = 0;
_local6.overlapCount = b2_invalid;
_local6.userData = null;
m_freeProxy = 0;
m_timeStamp = 1;
m_queryResultCount = 0;
}
public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{
var _local6:uint;
var _local7:uint;
var _local12:b2Proxy;
var _local4:Array = new Array();
var _local5:Array = new Array();
ComputeBounds(_local4, _local5, _arg1);
var _local8:Array = [_local6];
var _local9:Array = [_local7];
Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0);
Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1);
var _local10:int;
var _local11:int;
while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) {
_local12 = m_proxyPool[m_queryResults[_local11]];
_arg2[_local11] = _local12.userData;
_local11++;
_local10++;
};
m_queryResultCount = 0;
IncrementTimeStamp();
return (_local10);
}
public function Commit():void{
m_pairManager.Commit();
}
public function GetProxy(_arg1:int):b2Proxy{
var _local2:b2Proxy = m_proxyPool[_arg1];
if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){
return (null);
};
return (_local2);
}
private function IncrementTimeStamp():void{
var _local1:uint;
if (m_timeStamp == b2Settings.USHRT_MAX){
_local1 = 0;
while (_local1 < b2Settings.b2_maxProxies) {
(m_proxyPool[_local1] as b2Proxy).timeStamp = 0;
_local1++;
};
m_timeStamp = 1;
} else {
m_timeStamp++;
};
}
private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{
var _local10:b2Bound;
var _local12:int;
var _local13:int;
var _local14:b2Proxy;
var _local8:uint = BinarySearch(_arg5, _arg6, _arg3);
var _local9:uint = BinarySearch(_arg5, _arg6, _arg4);
var _local11:uint = _local8;
while (_local11 < _local9) {
_local10 = _arg5[_local11];
if (_local10.IsLower()){
IncrementOverlapCount(_local10.proxyId);
};
_local11++;
};
if (_local8 > 0){
_local12 = (_local8 - 1);
_local10 = _arg5[_local12];
_local13 = _local10.stabbingCount;
while (_local13) {
_local10 = _arg5[_local12];
if (_local10.IsLower()){
_local14 = m_proxyPool[_local10.proxyId];
if (_local8 <= _local14.upperBounds[_arg7]){
IncrementOverlapCount(_local10.proxyId);
_local13--;
};
};
_local12--;
};
};
_arg1[0] = _local8;
_arg2[0] = _local9;
}
private function AddProxyResult(_arg1:uint, _arg2:b2Proxy, _arg3:Number, _arg4:Function):void{
var _local9:Number;
var _local10:uint;
var _local5:Number = _arg4(_arg2.userData);
if (_local5 < 0){
return;
};
var _local6:Number = 0;
while ((((_local6 < m_queryResultCount)) && ((m_querySortKeys[_local6] < _local5)))) {
_local6++;
};
var _local7:Number = _local5;
var _local8:uint = _arg1;
m_queryResultCount = (m_queryResultCount + 1);
if (m_queryResultCount > _arg3){
m_queryResultCount = _arg3;
};
while (_local6 < m_queryResultCount) {
_local9 = m_querySortKeys[_local6];
_local10 = m_queryResults[_local6];
m_querySortKeys[_local6] = _local7;
m_queryResults[_local6] = _local8;
_local7 = _local9;
_local8 = _local10;
_local6++;
};
}
private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{
var _local4:Array;
var _local5:b2Bound;
var _local6:b2Bound;
var _local3:int;
while (_local3 < 2) {
_local4 = m_bounds[_local3];
_local5 = _local4[_arg1.lowerBounds[_local3]];
_local6 = _local4[_arg2.upperBounds[_local3]];
if (_local5.value > _local6.value){
return (false);
};
_local5 = _local4[_arg1.upperBounds[_local3]];
_local6 = _local4[_arg2.lowerBounds[_local3]];
if (_local5.value < _local6.value){
return (false);
};
_local3++;
};
return (true);
}
private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{
var _local4:Number = _arg3.lowerBound.x;
var _local5:Number = _arg3.lowerBound.y;
_local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x);
_local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y);
_local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x);
_local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y);
var _local6:Number = _arg3.upperBound.x;
var _local7:Number = _arg3.upperBound.y;
_local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x);
_local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y);
_local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x);
_local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y);
_arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1));
_arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1);
_arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1));
_arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1);
}
public function CreateProxy(_arg1:b2AABB, _arg2):uint{
var _local3:uint;
var _local4:b2Proxy;
var _local11:Array;
var _local12:uint;
var _local13:uint;
var _local14:Array;
var _local15:Array;
var _local16:Array;
var _local17:int;
var _local18:int;
var _local19:b2Bound;
var _local20:b2Bound;
var _local21:b2Bound;
var _local22:int;
var _local23:b2Proxy;
var _local5:uint = m_freeProxy;
_local4 = m_proxyPool[_local5];
m_freeProxy = _local4.GetNext();
_local4.overlapCount = 0;
_local4.userData = _arg2;
var _local6:uint = (2 * m_proxyCount);
var _local7:Array = new Array();
var _local8:Array = new Array();
ComputeBounds(_local7, _local8, _arg1);
var _local9:int;
while (_local9 < 2) {
_local11 = m_bounds[_local9];
_local14 = [_local12];
_local15 = [_local13];
Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9);
_local12 = _local14[0];
_local13 = _local15[0];
_local16 = new Array();
_local18 = (_local6 - _local13);
_local17 = 0;
while (_local17 < _local18) {
_local16[_local17] = new b2Bound();
_local19 = _local16[_local17];
_local20 = _local11[int((_local13 + _local17))];
_local19.value = _local20.value;
_local19.proxyId = _local20.proxyId;
_local19.stabbingCount = _local20.stabbingCount;
_local17++;
};
_local18 = _local16.length;
_local22 = (_local13 + 2);
_local17 = 0;
while (_local17 < _local18) {
_local20 = _local16[_local17];
_local19 = _local11[int((_local22 + _local17))];
_local19.value = _local20.value;
_local19.proxyId = _local20.proxyId;
_local19.stabbingCount = _local20.stabbingCount;
_local17++;
};
_local16 = new Array();
_local18 = (_local13 - _local12);
_local17 = 0;
while (_local17 < _local18) {
_local16[_local17] = new b2Bound();
_local19 = _local16[_local17];
_local20 = _local11[int((_local12 + _local17))];
_local19.value = _local20.value;
_local19.proxyId = _local20.proxyId;
_local19.stabbingCount = _local20.stabbingCount;
_local17++;
};
_local18 = _local16.length;
_local22 = (_local12 + 1);
_local17 = 0;
while (_local17 < _local18) {
_local20 = _local16[_local17];
_local19 = _local11[int((_local22 + _local17))];
_local19.value = _local20.value;
_local19.proxyId = _local20.proxyId;
_local19.stabbingCount = _local20.stabbingCount;
_local17++;
};
_local13++;
_local19 = _local11[_local12];
_local20 = _local11[_local13];
_local19.value = _local7[_local9];
_local19.proxyId = _local5;
_local20.value = _local8[_local9];
_local20.proxyId = _local5;
_local21 = _local11[int((_local12 - 1))];
_local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount;
_local21 = _local11[int((_local13 - 1))];
_local20.stabbingCount = _local21.stabbingCount;
_local3 = _local12;
while (_local3 < _local13) {
_local21 = _local11[_local3];
_local21.stabbingCount++;
_local3++;
};
_local3 = _local12;
while (_local3 < (_local6 + 2)) {
_local19 = _local11[_local3];
_local23 = m_proxyPool[_local19.proxyId];
if (_local19.IsLower()){
_local23.lowerBounds[_local9] = _local3;
} else {
_local23.upperBounds[_local9] = _local3;
};
_local3++;
};
_local9++;
};
m_proxyCount++;
var _local10:int;
while (_local10 < m_queryResultCount) {
m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]);
_local10++;
};
m_pairManager.Commit();
m_queryResultCount = 0;
IncrementTimeStamp();
return (_local5);
}
public function DestroyProxy(_arg1:uint):void{
var _local2:b2Bound;
var _local3:b2Bound;
var _local8:Array;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:Array;
var _local14:int;
var _local15:int;
var _local16:int;
var _local17:uint;
var _local18:int;
var _local19:b2Proxy;
var _local4:b2Proxy = m_proxyPool[_arg1];
var _local5:int = (2 * m_proxyCount);
var _local6:int;
while (_local6 < 2) {
_local8 = m_bounds[_local6];
_local9 = _local4.lowerBounds[_local6];
_local10 = _local4.upperBounds[_local6];
_local2 = _local8[_local9];
_local11 = _local2.value;
_local3 = _local8[_local10];
_local12 = _local3.value;
_local13 = new Array();
_local15 = ((_local10 - _local9) - 1);
_local14 = 0;
while (_local14 < _local15) {
_local13[_local14] = new b2Bound();
_local2 = _local13[_local14];
_local3 = _local8[int(((_local9 + 1) + _local14))];
_local2.value = _local3.value;
_local2.proxyId = _local3.proxyId;
_local2.stabbingCount = _local3.stabbingCount;
_local14++;
};
_local15 = _local13.length;
_local16 = _local9;
_local14 = 0;
while (_local14 < _local15) {
_local3 = _local13[_local14];
_local2 = _local8[int((_local16 + _local14))];
_local2.value = _local3.value;
_local2.proxyId = _local3.proxyId;
_local2.stabbingCount = _local3.stabbingCount;
_local14++;
};
_local13 = new Array();
_local15 = ((_local5 - _local10) - 1);
_local14 = 0;
while (_local14 < _local15) {
_local13[_local14] = new b2Bound();
_local2 = _local13[_local14];
_local3 = _local8[int(((_local10 + 1) + _local14))];
_local2.value = _local3.value;
_local2.proxyId = _local3.proxyId;
_local2.stabbingCount = _local3.stabbingCount;
_local14++;
};
_local15 = _local13.length;
_local16 = (_local10 - 1);
_local14 = 0;
while (_local14 < _local15) {
_local3 = _local13[_local14];
_local2 = _local8[int((_local16 + _local14))];
_local2.value = _local3.value;
_local2.proxyId = _local3.proxyId;
_local2.stabbingCount = _local3.stabbingCount;
_local14++;
};
_local15 = (_local5 - 2);
_local17 = _local9;
while (_local17 < _local15) {
_local2 = _local8[_local17];
_local19 = m_proxyPool[_local2.proxyId];
if (_local2.IsLower()){
_local19.lowerBounds[_local6] = _local17;
} else {
_local19.upperBounds[_local6] = _local17;
};
_local17++;
};
_local15 = (_local10 - 1);
_local18 = _local9;
while (_local18 < _local15) {
_local2 = _local8[_local18];
_local2.stabbingCount--;
_local18++;
};
Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6);
_local6++;
};
var _local7:int;
while (_local7 < m_queryResultCount) {
m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]);
_local7++;
};
m_pairManager.Commit();
m_queryResultCount = 0;
IncrementTimeStamp();
_local4.userData = null;
_local4.overlapCount = b2_invalid;
_local4.lowerBounds[0] = b2_invalid;
_local4.lowerBounds[1] = b2_invalid;
_local4.upperBounds[0] = b2_invalid;
_local4.upperBounds[1] = b2_invalid;
_local4.SetNext(m_freeProxy);
m_freeProxy = _arg1;
m_proxyCount--;
}
public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{
var _local4:Array;
var _local5:b2Bound;
var _local3:int;
while (_local3 < 2) {
_local4 = m_bounds[_local3];
_local5 = _local4[_arg2.upperBounds[_local3]];
if (_arg1.lowerValues[_local3] > _local5.value){
return (false);
};
_local5 = _local4[_arg2.lowerBounds[_local3]];
if (_arg1.upperValues[_local3] < _local5.value){
return (false);
};
_local3++;
};
return (true);
}
public function Validate():void{
var _local1:b2Pair;
var _local2:b2Proxy;
var _local3:b2Proxy;
var _local4:Boolean;
var _local6:b2Bound;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:b2Bound;
var _local5:int;
while (_local5 < 2) {
_local6 = m_bounds[_local5];
_local7 = (2 * m_proxyCount);
_local8 = 0;
_local9 = 0;
while (_local9 < _local7) {
_local10 = _local6[_local9];
if (_local10.IsLower() == true){
_local8++;
} else {
_local8--;
};
_local9++;
};
_local5++;
};
}
private function IncrementOverlapCount(_arg1:uint):void{
var _local2:b2Proxy = m_proxyPool[_arg1];
if (_local2.timeStamp < m_timeStamp){
_local2.timeStamp = m_timeStamp;
_local2.overlapCount = 1;
} else {
_local2.overlapCount = 2;
m_queryResults[m_queryResultCount] = _arg1;
m_queryResultCount++;
};
}
public function InRange(_arg1:b2AABB):Boolean{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = _arg1.lowerBound.x;
_local3 = _arg1.lowerBound.y;
_local2 = (_local2 - m_worldAABB.upperBound.x);
_local3 = (_local3 - m_worldAABB.upperBound.y);
_local4 = m_worldAABB.lowerBound.x;
_local5 = m_worldAABB.lowerBound.y;
_local4 = (_local4 - _arg1.upperBound.x);
_local5 = (_local5 - _arg1.upperBound.y);
_local2 = b2Math.b2Max(_local2, _local4);
_local3 = b2Math.b2Max(_local3, _local5);
return ((b2Math.b2Max(_local2, _local3) < 0));
}
public function QuerySegment(_arg1:b2Segment, _arg2, _arg3:int, _arg4:Function):int{
var _local15:int;
var _local16:int;
var _local17:uint;
var _local18:b2Proxy;
var _local19:uint;
var _local20:uint;
var _local24:Number;
var _local25:Number;
var _local27:int;
var _local28:Number;
var _local29:Number;
var _local30:uint;
var _local5:Number = 1;
var _local6:Number = ((_arg1.p2.x - _arg1.p1.x) * m_quantizationFactor.x);
var _local7:Number = ((_arg1.p2.y - _arg1.p1.y) * m_quantizationFactor.y);
var _local8:int = ((_local6 < -(Number.MIN_VALUE))) ? -1 : ((_local6 > Number.MIN_VALUE)) ? 1 : 0;
var _local9:int = ((_local7 < -(Number.MIN_VALUE))) ? -1 : ((_local7 > Number.MIN_VALUE)) ? 1 : 0;
var _local10:Number = (m_quantizationFactor.x * (_arg1.p1.x - m_worldAABB.lowerBound.x));
var _local11:Number = (m_quantizationFactor.y * (_arg1.p1.y - m_worldAABB.lowerBound.y));
var _local12:Array = new Array();
var _local13:Array = new Array();
_local12[0] = (uint(_local10) & (b2Settings.USHRT_MAX - 1));
_local12[1] = (uint(_local11) & (b2Settings.USHRT_MAX - 1));
_local13[0] = (_local12[0] + 1);
_local13[1] = (_local12[1] + 1);
var _local14:Array = new Array();
var _local21:Array = [_local19];
var _local22:Array = [_local20];
Query(_local21, _local22, _local12[0], _local13[0], m_bounds[0], (2 * m_proxyCount), 0);
if (_local8 >= 0){
_local15 = (_local22[0] - 1);
} else {
_local15 = _local21[0];
};
Query(_local21, _local22, _local12[1], _local13[1], m_bounds[1], (2 * m_proxyCount), 1);
if (_local9 >= 0){
_local16 = (_local22[0] - 1);
} else {
_local16 = _local21[0];
};
if (_arg4 != null){
_local27 = 0;
while (_local27 < m_queryResultCount) {
m_querySortKeys[_local27] = _arg4(m_proxyPool[m_queryResults[_local27]].userData);
_local27++;
};
_local27 = 0;
while (_local27 < (m_queryResultCount - 1)) {
_local28 = m_querySortKeys[_local27];
_local29 = m_querySortKeys[(_local27 + 1)];
if (((_local28)<0) ? (_local29 >= 0) : (((_local28 > _local29)) && ((_local29 >= 0)))){
m_querySortKeys[(_local27 + 1)] = _local28;
m_querySortKeys[_local27] = _local29;
_local30 = m_queryResults[(_local27 + 1)];
m_queryResults[(_local27 + 1)] = m_queryResults[_local27];
m_queryResults[_local27] = _local30;
--_local27;
if (_local27 == -1){
_local27 = 0;
};
} else {
_local27++;
};
};
while ((((m_queryResultCount > 0)) && ((m_querySortKeys[(m_queryResultCount - 1)] < 0)))) {
m_queryResultCount--;
};
};
var _local23:Boolean;
if ((((_local15 < 0)) || ((_local15 >= (m_proxyCount * 2))))){
_local23 = false;
};
if ((((_local16 < 0)) || ((_local16 >= (m_proxyCount * 2))))){
_local23 = false;
};
if (_local23){
if (_local8 != 0){
if (_local8 > 0){
_local15++;
if (_local15 == (m_proxyCount * 2)){
_local23 = false;
};
} else {
--_local15;
if (_local15 < 0){
_local23 = false;
};
};
_local24 = ((m_bounds[0][_local15].value - _local10) / _local6);
};
if (_local9 != 0){
if (_local9 > 0){
_local16++;
if (_local16 == (m_proxyCount * 2)){
_local23 = false;
};
} else {
--_local16;
if (_local16 < 0){
_local23 = false;
};
};
_local25 = ((m_bounds[1][_local16].value - _local11) / _local7);
};
};
while (_local23) {
if ((((_local9 == 0)) || (((!((_local8 == 0))) && ((_local24 < _local25)))))){
if (_local24 > _local5){
break;
};
if (((_local8 > 0)) ? m_bounds[0][_local15].IsLower() : m_bounds[0][_local15].IsUpper()){
_local17 = m_bounds[0][_local15].proxyId;
_local18 = m_proxyPool[_local17];
if (_local9 >= 0){
if ((((_local18.lowerBounds[1] <= (_local16 - 1))) && ((_local18.upperBounds[1] >= _local16)))){
if (_arg4 != null){
AddProxyResult(_local17, _local18, _arg3, _arg4);
} else {
m_queryResults[m_queryResultCount] = _local17;
m_queryResultCount++;
};
};
} else {
if ((((_local18.lowerBounds[1] <= _local16)) && ((_local18.upperBounds[1] >= (_local16 + 1))))){
if (_arg4 != null){
AddProxyResult(_local17, _local18, _arg3, _arg4);
} else {
m_queryResults[m_queryResultCount] = _local17;
m_queryResultCount++;
};
};
};
};
if (((((((!((_arg4 == null))) && ((m_queryResultCount == _arg3)))) && ((m_queryResultCount > 0)))) && ((_local24 > m_querySortKeys[(m_queryResultCount - 1)])))){
break;
};
if (_local8 > 0){
_local15++;
if (_local15 == (m_proxyCount * 2)){
break;
};
} else {
--_local15;
if (_local15 < 0){
break;
};
};
_local24 = ((m_bounds[0][_local15].value - _local10) / _local6);
} else {
if (_local25 > _local5){
break;
};
if (((_local9 > 0)) ? m_bounds[1][_local16].IsLower() : m_bounds[1][_local16].IsUpper()){
_local17 = m_bounds[1][_local16].proxyId;
_local18 = m_proxyPool[_local17];
if (_local8 >= 0){
if ((((_local18.lowerBounds[0] <= (_local15 - 1))) && ((_local18.upperBounds[0] >= _local15)))){
if (_arg4 != null){
AddProxyResult(_local17, _local18, _arg3, _arg4);
} else {
m_queryResults[m_queryResultCount] = _local17;
m_queryResultCount++;
};
};
} else {
if ((((_local18.lowerBounds[0] <= _local15)) && ((_local18.upperBounds[0] >= (_local15 + 1))))){
if (_arg4 != null){
AddProxyResult(_local17, _local18, _arg3, _arg4);
} else {
m_queryResults[m_queryResultCount] = _local17;
m_queryResultCount++;
};
};
};
};
if (((((((!((_arg4 == null))) && ((m_queryResultCount == _arg3)))) && ((m_queryResultCount > 0)))) && ((_local25 > m_querySortKeys[(m_queryResultCount - 1)])))){
break;
};
if (_local9 > 0){
_local16++;
if (_local16 == (m_proxyCount * 2)){
break;
};
} else {
--_local16;
if (_local16 < 0){
break;
};
};
_local25 = ((m_bounds[1][_local16].value - _local11) / _local7);
};
};
var _local26:int;
_local27 = 0;
while ((((_local27 < m_queryResultCount)) && ((_local26 < _arg3)))) {
_local18 = m_proxyPool[m_queryResults[_local27]];
_arg2[_local27] = _local18.userData;
_local27++;
_local26++;
};
m_queryResultCount = 0;
IncrementTimeStamp();
return (_local26);
}
public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{
var _local3:Array;
var _local4:int;
var _local5:uint;
var _local6:uint;
var _local7:b2Bound;
var _local8:b2Bound;
var _local9:b2Bound;
var _local10:uint;
var _local11:b2Proxy;
var _local16:Array;
var _local17:uint;
var _local18:uint;
var _local19:uint;
var _local20:uint;
var _local21:int;
var _local22:int;
var _local23:uint;
var _local24:b2Proxy;
if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){
return;
};
if (_arg2.IsValid() == false){
return;
};
var _local12:uint = (2 * m_proxyCount);
var _local13:b2Proxy = m_proxyPool[_arg1];
var _local14:b2BoundValues = new b2BoundValues();
ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2);
var _local15:b2BoundValues = new b2BoundValues();
_local5 = 0;
while (_local5 < 2) {
_local7 = m_bounds[_local5][_local13.lowerBounds[_local5]];
_local15.lowerValues[_local5] = _local7.value;
_local7 = m_bounds[_local5][_local13.upperBounds[_local5]];
_local15.upperValues[_local5] = _local7.value;
_local5++;
};
_local5 = 0;
while (_local5 < 2) {
_local16 = m_bounds[_local5];
_local17 = _local13.lowerBounds[_local5];
_local18 = _local13.upperBounds[_local5];
_local19 = _local14.lowerValues[_local5];
_local20 = _local14.upperValues[_local5];
_local7 = _local16[_local17];
_local21 = (_local19 - _local7.value);
_local7.value = _local19;
_local7 = _local16[_local18];
_local22 = (_local20 - _local7.value);
_local7.value = _local20;
if (_local21 < 0){
_local6 = _local17;
while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) {
_local7 = _local16[_local6];
_local8 = _local16[int((_local6 - 1))];
_local23 = _local8.proxyId;
_local24 = m_proxyPool[_local8.proxyId];
_local8.stabbingCount++;
if (_local8.IsUpper() == true){
if (TestOverlap(_local14, _local24)){
m_pairManager.AddBufferedPair(_arg1, _local23);
};
_local3 = _local24.upperBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7.stabbingCount++;
} else {
_local3 = _local24.lowerBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7.stabbingCount--;
};
_local3 = _local13.lowerBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7.Swap(_local8);
_local6--;
};
};
if (_local22 > 0){
_local6 = _local18;
while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) {
_local7 = _local16[_local6];
_local9 = _local16[int((_local6 + 1))];
_local10 = _local9.proxyId;
_local11 = m_proxyPool[_local10];
_local9.stabbingCount++;
if (_local9.IsLower() == true){
if (TestOverlap(_local14, _local11)){
m_pairManager.AddBufferedPair(_arg1, _local10);
};
_local3 = _local11.lowerBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7.stabbingCount++;
} else {
_local3 = _local11.upperBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7.stabbingCount--;
};
_local3 = _local13.upperBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7.Swap(_local9);
_local6++;
};
};
if (_local21 > 0){
_local6 = _local17;
while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) {
_local7 = _local16[_local6];
_local9 = _local16[int((_local6 + 1))];
_local10 = _local9.proxyId;
_local11 = m_proxyPool[_local10];
_local9.stabbingCount--;
if (_local9.IsUpper()){
if (TestOverlap(_local15, _local11)){
m_pairManager.RemoveBufferedPair(_arg1, _local10);
};
_local3 = _local11.upperBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7.stabbingCount--;
} else {
_local3 = _local11.lowerBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7.stabbingCount++;
};
_local3 = _local13.lowerBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7.Swap(_local9);
_local6++;
};
};
if (_local22 < 0){
_local6 = _local18;
while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) {
_local7 = _local16[_local6];
_local8 = _local16[int((_local6 - 1))];
_local23 = _local8.proxyId;
_local24 = m_proxyPool[_local23];
_local8.stabbingCount--;
if (_local8.IsLower() == true){
if (TestOverlap(_local15, _local24)){
m_pairManager.RemoveBufferedPair(_arg1, _local23);
};
_local3 = _local24.lowerBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7.stabbingCount--;
} else {
_local3 = _local24.upperBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7.stabbingCount++;
};
_local3 = _local13.upperBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7.Swap(_local8);
_local6--;
};
};
_local5++;
};
}
public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{
var _local6:int;
var _local7:b2Bound;
var _local4:int;
var _local5:int = (_arg2 - 1);
while (_local4 <= _local5) {
_local6 = ((_local4 + _local5) / 2);
_local7 = _arg1[_local6];
if (_local7.value > _arg3){
_local5 = (_local6 - 1);
} else {
if (_local7.value < _arg3){
_local4 = (_local6 + 1);
} else {
return (uint(_local6));
};
};
};
return (uint(_local4));
}
}
}//package Box2D.Collision
Section 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair)
package Box2D.Collision {
public class b2BufferedPair {
public var proxyId1:uint;
public var proxyId2:uint;
}
}//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision)
package Box2D.Collision {
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2Collision {
public static const b2_nullFeature:uint = 0xFF;
private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2();
public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{
var _local11:b2Mat22;
var _local12:b2Vec2;
var _local25:Number;
var _local6:int = _arg1.m_vertexCount;
var _local7:Array = _arg1.m_vertices;
var _local8:Array = _arg1.m_normals;
var _local9:int = _arg4.m_vertexCount;
var _local10:Array = _arg4.m_vertices;
_local11 = _arg2.R;
_local12 = _local8[_arg3];
var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y));
var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y));
_local11 = _arg5.R;
var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14));
var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14));
var _local17:int;
var _local18:Number = Number.MAX_VALUE;
var _local19:int;
while (_local19 < _local9) {
_local12 = _local10[_local19];
_local25 = ((_local12.x * _local15) + (_local12.y * _local16));
if (_local25 < _local18){
_local18 = _local25;
_local17 = _local19;
};
_local19++;
};
_local12 = _local7[_arg3];
_local11 = _arg2.R;
var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)));
var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)));
_local12 = _local10[_local17];
_local11 = _arg5.R;
var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)));
var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)));
_local22 = (_local22 - _local20);
_local23 = (_local23 - _local21);
var _local24:Number = ((_local22 * _local13) + (_local23 * _local14));
return (_local24);
}
public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{
var _local3:b2Vec2 = _arg2.lowerBound;
var _local4:b2Vec2 = _arg1.upperBound;
var _local5:Number = (_local3.x - _local4.x);
var _local6:Number = (_local3.y - _local4.y);
_local3 = _arg1.lowerBound;
_local4 = _arg2.upperBound;
var _local7:Number = (_local3.x - _local4.x);
var _local8:Number = (_local3.y - _local4.y);
if ((((_local5 > 0)) || ((_local6 > 0)))){
return (false);
};
if ((((_local7 > 0)) || ((_local8 > 0)))){
return (false);
};
return (true);
}
public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{
var _local12:b2Mat22;
var _local13:b2Vec2;
var _local20:ClipVertex;
var _local23:Number;
var _local7:int = _arg2.m_vertexCount;
var _local8:Array = _arg2.m_normals;
var _local9:int = _arg5.m_vertexCount;
var _local10:Array = _arg5.m_vertices;
var _local11:Array = _arg5.m_normals;
_local12 = _arg3.R;
_local13 = _local8[_arg4];
var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y));
var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y));
_local12 = _arg6.R;
var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15));
_local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15));
_local14 = _local16;
var _local17:int;
var _local18:Number = Number.MAX_VALUE;
var _local19:int;
while (_local19 < _local9) {
_local13 = _local11[_local19];
_local23 = ((_local14 * _local13.x) + (_local15 * _local13.y));
if (_local23 < _local18){
_local18 = _local23;
_local17 = _local19;
};
_local19++;
};
var _local21:int = _local17;
var _local22:int = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0;
_local20 = _arg1[0];
_local13 = _local10[_local21];
_local12 = _arg6.R;
_local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)));
_local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)));
_local20.id.features.referenceEdge = _arg4;
_local20.id.features.incidentEdge = _local21;
_local20.id.features.incidentVertex = 0;
_local20 = _arg1[1];
_local13 = _local10[_local22];
_local12 = _arg6.R;
_local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)));
_local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)));
_local20.id.features.referenceEdge = _arg4;
_local20.id.features.incidentEdge = _local22;
_local20.id.features.incidentVertex = 1;
}
public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{
var _local6:ClipVertex;
var _local13:b2PolygonShape;
var _local14:b2PolygonShape;
var _local17:int;
var _local18:uint;
var _local34:int;
var _local37:b2Vec2;
var _local38:Number;
var _local39:b2ManifoldPoint;
_arg1.pointCount = 0;
var _local7:int;
var _local8:Array = [_local7];
var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5);
_local7 = _local8[0];
if (_local9 > 0){
return;
};
var _local10:int;
var _local11:Array = [_local10];
var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3);
_local10 = _local11[0];
if (_local12 > 0){
return;
};
var _local15:b2XForm = new b2XForm();
var _local16:b2XForm = new b2XForm();
var _local19:Number = 0.98;
var _local20:Number = 0.001;
if (_local12 > ((_local19 * _local9) + _local20)){
_local13 = _arg4;
_local14 = _arg2;
_local15.Set(_arg5);
_local16.Set(_arg3);
_local17 = _local10;
_local18 = 1;
} else {
_local13 = _arg2;
_local14 = _arg4;
_local15.Set(_arg3);
_local16.Set(_arg5);
_local17 = _local7;
_local18 = 0;
};
var _local21:Array = [new ClipVertex(), new ClipVertex()];
FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16);
var _local22:int = _local13.m_vertexCount;
var _local23:Array = _local13.m_vertices;
var _local24:b2Vec2 = _local23[_local17];
var _local25:b2Vec2 = _local24.Copy();
if ((_local17 + 1) < _local22){
_local24 = _local23[int((_local17 + 1))];
_local37 = _local24.Copy();
} else {
_local24 = _local23[0];
_local37 = _local24.Copy();
};
var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25);
var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25));
_local27.Normalize();
var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1);
_local25 = b2Math.b2MulX(_local15, _local25);
_local37 = b2Math.b2MulX(_local15, _local37);
var _local29:Number = b2Math.b2Dot(_local28, _local25);
var _local30:Number = -(b2Math.b2Dot(_local27, _local25));
var _local31:Number = b2Math.b2Dot(_local27, _local37);
var _local32:Array = [new ClipVertex(), new ClipVertex()];
var _local33:Array = [new ClipVertex(), new ClipVertex()];
_local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30);
if (_local34 < 2){
return;
};
_local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31);
if (_local34 < 2){
return;
};
_arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy();
var _local35:int;
var _local36:int;
while (_local36 < b2Settings.b2_maxManifoldPoints) {
_local6 = _local33[_local36];
_local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29);
if (_local38 <= 0){
_local39 = _arg1.points[_local35];
_local39.separation = _local38;
_local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v);
_local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v);
_local39.id.key = _local6.id._key;
_local39.id.features.flip = _local18;
_local35++;
};
_local36++;
};
_arg1.pointCount = _local35;
}
public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{
var _local8:b2Vec2;
var _local9:b2Mat22;
var _local22:int;
var _local23:Number;
var _local24:int;
var _local25:Number;
var _local6:int = _arg2.m_vertexCount;
var _local7:Array = _arg2.m_normals;
_local9 = _arg5.R;
_local8 = _arg4.m_centroid;
var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)));
var _local11:Number = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)));
_local9 = _arg3.R;
_local8 = _arg2.m_centroid;
_local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))));
_local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))));
var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y));
var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y));
var _local14:int;
var _local15:Number = -(Number.MAX_VALUE);
var _local16:int;
while (_local16 < _local6) {
_local8 = _local7[_local16];
_local25 = ((_local8.x * _local12) + (_local8.y * _local13));
if (_local25 > _local15){
_local15 = _local25;
_local14 = _local16;
};
_local16++;
};
var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5);
if (_local17 > 0){
return (_local17);
};
var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1);
var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5);
if (_local19 > 0){
return (_local19);
};
var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0;
var _local21:Number = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5);
if (_local21 > 0){
return (_local21);
};
if ((((_local19 > _local17)) && ((_local19 > _local21)))){
_local24 = -1;
_local22 = _local18;
_local23 = _local19;
} else {
if (_local21 > _local17){
_local24 = 1;
_local22 = _local20;
_local23 = _local21;
} else {
_arg1[0] = _local14;
return (_local17);
};
};
while (true) {
if (_local24 == -1){
_local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1);
} else {
_local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0;
};
_local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5);
if (_local17 > 0){
return (_local17);
};
if (_local17 > _local23){
_local22 = _local14;
_local23 = _local17;
} else {
break;
};
};
_arg1[0] = _local22;
return (_local23);
}
public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{
var _local5:ClipVertex;
var _local6:int;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:Number;
var _local11:Number;
var _local12:b2Vec2;
var _local13:ClipVertex;
_local6 = 0;
_local5 = _arg2[0];
_local7 = _local5.v;
_local5 = _arg2[1];
_local8 = _local5.v;
_local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4);
var _local10:Number = (b2Math.b2Dot(_arg3, _local8) - _arg4);
if (_local9 <= 0){
var _temp1 = _local6;
_local6 = (_local6 + 1);
var _local14 = _temp1;
_arg1[_local14] = _arg2[0];
};
if (_local10 <= 0){
var _temp2 = _local6;
_local6 = (_local6 + 1);
_local14 = _temp2;
_arg1[_local14] = _arg2[1];
};
if ((_local9 * _local10) < 0){
_local11 = (_local9 / (_local9 - _local10));
_local5 = _arg1[_local6];
_local12 = _local5.v;
_local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x)));
_local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y)));
_local5 = _arg1[_local6];
if (_local9 > 0){
_local13 = _arg2[0];
_local5.id = _local13.id;
} else {
_local13 = _arg2[1];
_local5.id = _local13.id;
};
_local6++;
};
return (_local6);
}
public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{
var _local6:b2Mat22;
var _local7:b2Vec2;
var _local18:Number;
var _local24:Number;
var _local25:Number;
_arg1.pointCount = 0;
_local6 = _arg3.R;
_local7 = _arg2.m_localPosition;
var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y)));
var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y)));
_local6 = _arg5.R;
_local7 = _arg4.m_localPosition;
var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y)));
var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y)));
var _local12:Number = (_local10 - _local8);
var _local13:Number = (_local11 - _local9);
var _local14:Number = ((_local12 * _local12) + (_local13 * _local13));
var _local15:Number = _arg2.m_radius;
var _local16:Number = _arg4.m_radius;
var _local17:Number = (_local15 + _local16);
if (_local14 > (_local17 * _local17)){
return;
};
if (_local14 < Number.MIN_VALUE){
_local18 = -(_local17);
_arg1.normal.Set(0, 1);
} else {
_local24 = Math.sqrt(_local14);
_local18 = (_local24 - _local17);
_local25 = (1 / _local24);
_arg1.normal.x = (_local25 * _local12);
_arg1.normal.y = (_local25 * _local13);
};
_arg1.pointCount = 1;
var _local19:b2ManifoldPoint = _arg1.points[0];
_local19.id.key = 0;
_local19.separation = _local18;
_local8 = (_local8 + (_local15 * _arg1.normal.x));
_local9 = (_local9 + (_local15 * _arg1.normal.y));
_local10 = (_local10 - (_local16 * _arg1.normal.x));
_local11 = (_local11 - (_local16 * _arg1.normal.y));
var _local20:Number = (0.5 * (_local8 + _local10));
var _local21:Number = (0.5 * (_local9 + _local11));
var _local22:Number = (_local20 - _arg3.position.x);
var _local23:Number = (_local21 - _arg3.position.y);
_local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y));
_local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y));
_local22 = (_local20 - _arg5.position.x);
_local23 = (_local21 - _arg5.position.y);
_local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y));
_local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y));
}
public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{
var _local6:b2ManifoldPoint;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:b2Vec2;
var _local12:b2Mat22;
var _local17:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
_arg1.pointCount = 0;
_local12 = _arg5.R;
_local11 = _arg4.m_localPosition;
var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)));
var _local14:Number = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)));
_local7 = (_local13 - _arg3.position.x);
_local8 = (_local14 - _arg3.position.y);
_local12 = _arg3.R;
var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
var _local18:int;
var _local19:Number = -(Number.MAX_VALUE);
var _local20:Number = _arg4.m_radius;
var _local21:int = _arg2.m_vertexCount;
var _local22:Array = _arg2.m_vertices;
var _local23:Array = _arg2.m_normals;
var _local24:int;
while (_local24 < _local21) {
_local11 = _local22[_local24];
_local7 = (_local15 - _local11.x);
_local8 = (_local16 - _local11.y);
_local11 = _local23[_local24];
_local34 = ((_local11.x * _local7) + (_local11.y * _local8));
if (_local34 > _local20){
return;
};
if (_local34 > _local19){
_local19 = _local34;
_local18 = _local24;
};
_local24++;
};
if (_local19 < Number.MIN_VALUE){
_arg1.pointCount = 1;
_local11 = _local23[_local18];
_local12 = _arg3.R;
_arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y));
_arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y));
_local6 = _arg1.points[0];
_local6.id.features.incidentEdge = _local18;
_local6.id.features.incidentVertex = b2_nullFeature;
_local6.id.features.referenceEdge = 0;
_local6.id.features.flip = 0;
_local9 = (_local13 - (_local20 * _arg1.normal.x));
_local10 = (_local14 - (_local20 * _arg1.normal.y));
_local7 = (_local9 - _arg3.position.x);
_local8 = (_local10 - _arg3.position.y);
_local12 = _arg3.R;
_local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local7 = (_local9 - _arg5.position.x);
_local8 = (_local10 - _arg5.position.y);
_local12 = _arg5.R;
_local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local6.separation = (_local19 - _local20);
return;
};
var _local25:int = _local18;
var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0;
_local11 = _local22[_local25];
var _local27:b2Vec2 = _local22[_local26];
var _local28:Number = (_local27.x - _local11.x);
var _local29:Number = (_local27.y - _local11.y);
var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29)));
_local28 = (_local28 / _local30);
_local29 = (_local29 / _local30);
_local7 = (_local15 - _local11.x);
_local8 = (_local16 - _local11.y);
var _local31:Number = ((_local7 * _local28) + (_local8 * _local29));
_local6 = _arg1.points[0];
if (_local31 <= 0){
_local32 = _local11.x;
_local33 = _local11.y;
_local6.id.features.incidentEdge = b2_nullFeature;
_local6.id.features.incidentVertex = _local25;
} else {
if (_local31 >= _local30){
_local32 = _local27.x;
_local33 = _local27.y;
_local6.id.features.incidentEdge = b2_nullFeature;
_local6.id.features.incidentVertex = _local26;
} else {
_local32 = ((_local28 * _local31) + _local11.x);
_local33 = ((_local29 * _local31) + _local11.y);
_local6.id.features.incidentEdge = _local18;
_local6.id.features.incidentVertex = 0;
};
};
_local7 = (_local15 - _local32);
_local8 = (_local16 - _local33);
_local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local7 = (_local7 / _local17);
_local8 = (_local8 / _local17);
if (_local17 > _local20){
return;
};
_arg1.pointCount = 1;
_local12 = _arg3.R;
_arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8));
_arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8));
_local9 = (_local13 - (_local20 * _arg1.normal.x));
_local10 = (_local14 - (_local20 * _arg1.normal.y));
_local7 = (_local9 - _arg3.position.x);
_local8 = (_local10 - _arg3.position.y);
_local12 = _arg3.R;
_local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local7 = (_local9 - _arg5.position.x);
_local8 = (_local10 - _arg5.position.y);
_local12 = _arg5.R;
_local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local6.separation = (_local17 - _local20);
_local6.id.features.referenceEdge = 0;
_local6.id.features.flip = 0;
}
}
}//package Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID)
package Box2D.Collision {
public class b2ContactID {
public var _key:uint;
public var features:Features;
public function b2ContactID(){
features = new Features();
super();
features._m_id = this;
}
public function Set(_arg1:b2ContactID):void{
key = _arg1._key;
}
public function Copy():b2ContactID{
var _local1:b2ContactID = new b2ContactID();
_local1.key = key;
return (_local1);
}
public function set key(_arg1:uint):void{
_key = _arg1;
features._referenceEdge = (_key & 0xFF);
features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF);
features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF);
features._flip = (((_key & 4278190080) >> 24) & 0xFF);
}
public function get key():uint{
return (_key);
}
}
}//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint)
package Box2D.Collision {
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
public class b2ContactPoint {
public var friction:Number;
public var separation:Number;
public var normal:b2Vec2;
public var position:b2Vec2;
public var restitution:Number;
public var shape1:b2Shape;
public var shape2:b2Shape;
public var id:b2ContactID;
public var velocity:b2Vec2;
public function b2ContactPoint(){
position = new b2Vec2();
velocity = new b2Vec2();
normal = new b2Vec2();
id = new b2ContactID();
super();
}
}
}//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance)
package Box2D.Collision {
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2Distance {
private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()];
private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()];
private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()];
private static var gPoint:b2Point = new b2Point();
public static var g_GJK_Iterations:int = 0;
public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{
var _local6:b2Vec2;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local4:Number = (100 * Number.MIN_VALUE);
var _local5:int;
while (_local5 < _arg3) {
_local6 = _arg2[_local5];
_local7 = Math.abs((_arg1.x - _local6.x));
_local8 = Math.abs((_arg1.y - _local6.y));
_local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x));
_local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y));
if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){
return (true);
};
_local5++;
};
return (false);
}
public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{
var _local7:b2Vec2;
var _local15:Number;
var _local16:Number;
var _local17:b2Vec2;
var _local18:b2Vec2;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:int;
var _local8:Array = s_p1s;
var _local9:Array = s_p2s;
var _local10:Array = s_points;
var _local11:int;
_arg1.SetV(_arg3.GetFirstVertex(_arg4));
_arg2.SetV(_arg5.GetFirstVertex(_arg6));
var _local12:Number = 0;
var _local13 = 20;
var _local14:int;
while (_local14 < _local13) {
_local15 = (_arg2.x - _arg1.x);
_local16 = (_arg2.y - _arg1.y);
_local17 = _arg3.Support(_arg4, _local15, _local16);
_local18 = _arg5.Support(_arg6, -(_local15), -(_local16));
_local12 = ((_local15 * _local15) + (_local16 * _local16));
_local19 = (_local18.x - _local17.x);
_local20 = (_local18.y - _local17.y);
_local21 = ((_local15 * _local19) + (_local16 * _local20));
if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){
if (_local11 == 0){
_arg1.SetV(_local17);
_arg2.SetV(_local18);
};
g_GJK_Iterations = _local14;
return (Math.sqrt(_local12));
};
switch (_local11){
case 0:
_local7 = _local8[0];
_local7.SetV(_local17);
_local7 = _local9[0];
_local7.SetV(_local18);
_local7 = _local10[0];
_local7.x = _local19;
_local7.y = _local20;
_arg1.SetV(_local8[0]);
_arg2.SetV(_local9[0]);
_local11++;
break;
case 1:
_local7 = _local8[1];
_local7.SetV(_local17);
_local7 = _local9[1];
_local7.SetV(_local18);
_local7 = _local10[1];
_local7.x = _local19;
_local7.y = _local20;
_local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10);
break;
case 2:
_local7 = _local8[2];
_local7.SetV(_local17);
_local7 = _local9[2];
_local7.SetV(_local18);
_local7 = _local10[2];
_local7.x = _local19;
_local7.y = _local20;
_local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10);
break;
};
if (_local11 == 3){
g_GJK_Iterations = _local14;
return (0);
};
_local22 = -(Number.MAX_VALUE);
_local23 = 0;
while (_local23 < _local11) {
_local7 = _local10[_local23];
_local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y)));
_local23++;
};
if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){
g_GJK_Iterations = _local14;
_local15 = (_arg2.x - _arg1.x);
_local16 = (_arg2.y - _arg1.y);
_local12 = ((_local15 * _local15) + (_local16 * _local16));
return (Math.sqrt(_local12));
};
_local14++;
};
g_GJK_Iterations = _local13;
return (Math.sqrt(_local12));
}
public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{
var _local7:b2Mat22;
var _local8:b2Vec2;
var _local19:Number;
var _local20:Number;
_local7 = _arg4.R;
_local8 = _arg3.m_localPosition;
var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y)));
var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y)));
_local7 = _arg6.R;
_local8 = _arg5.m_localPosition;
var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y)));
var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y)));
var _local13:Number = (_local11 - _local9);
var _local14:Number = (_local12 - _local10);
var _local15:Number = ((_local13 * _local13) + (_local14 * _local14));
var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop);
var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop);
var _local18:Number = (_local16 + _local17);
if (_local15 > (_local18 * _local18)){
_local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14)));
_local13 = (_local13 / _local19);
_local14 = (_local14 / _local19);
_local20 = (_local19 - _local18);
_arg1.x = (_local9 + (_local16 * _local13));
_arg1.y = (_local10 + (_local16 * _local14));
_arg2.x = (_local11 - (_local17 * _local13));
_arg2.y = (_local12 - (_local17 * _local14));
return (_local20);
};
if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){
_local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14)));
_local13 = (_local13 / _local19);
_local14 = (_local14 / _local19);
_arg1.x = (_local9 + (_local16 * _local13));
_arg1.y = (_local10 + (_local16 * _local14));
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
return (0);
};
_arg1.x = _local9;
_arg1.y = _local10;
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
return (0);
}
public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{
var _local6:b2Vec2;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:b2Vec2;
var _local10:b2Vec2;
var _local11:b2Vec2;
var _local12:b2Vec2;
var _local13:b2Vec2;
var _local35:Number;
_local6 = _arg5[0];
_local7 = _arg5[1];
_local8 = _arg5[2];
_local9 = _arg3[0];
_local10 = _arg3[1];
_local11 = _arg3[2];
_local12 = _arg4[0];
_local13 = _arg4[1];
var _local14:b2Vec2 = _arg4[2];
var _local15:Number = _local6.x;
var _local16:Number = _local6.y;
var _local17:Number = _local7.x;
var _local18:Number = _local7.y;
var _local19:Number = _local8.x;
var _local20:Number = _local8.y;
var _local21:Number = (_local17 - _local15);
var _local22:Number = (_local18 - _local16);
var _local23:Number = (_local19 - _local15);
var _local24:Number = (_local20 - _local16);
var _local25:Number = (_local19 - _local17);
var _local26:Number = (_local20 - _local18);
var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22)));
var _local28:Number = ((_local17 * _local21) + (_local18 * _local22));
var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24)));
var _local30:Number = ((_local19 * _local23) + (_local20 * _local24));
var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26)));
var _local32:Number = ((_local19 * _local25) + (_local20 * _local26));
if ((((_local30 <= 0)) && ((_local32 <= 0)))){
_arg1.SetV(_local11);
_arg2.SetV(_local14);
_local9.SetV(_local11);
_local12.SetV(_local14);
_local6.SetV(_local8);
return (1);
};
var _local33:Number = ((_local21 * _local24) - (_local22 * _local23));
var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17)));
var _local36:Number = (_local33 * ((_local17 * _local20) - (_local18 * _local19)));
if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){
_local35 = (_local31 / (_local31 + _local32));
_arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x)));
_arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y)));
_arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x)));
_arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y)));
_local9.SetV(_local11);
_local12.SetV(_local14);
_local6.SetV(_local8);
return (2);
};
var _local37:Number = (_local33 * ((_local19 * _local16) - (_local20 * _local15)));
if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){
_local35 = (_local29 / (_local29 + _local30));
_arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x)));
_arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y)));
_arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x)));
_arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y)));
_local10.SetV(_local11);
_local13.SetV(_local14);
_local7.SetV(_local8);
return (2);
};
var _local38:Number = ((_local36 + _local37) + _local34);
_local38 = (1 / _local38);
var _local39:Number = (_local36 * _local38);
var _local40:Number = (_local37 * _local38);
var _local41:Number = ((1 - _local39) - _local40);
_arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x));
_arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y));
_arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x));
_arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y));
return (3);
}
public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{
var _local7:b2Mat22;
var _local8:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local9:b2Point = gPoint;
_local8 = _arg5.m_localPosition;
_local7 = _arg6.R;
_local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y)));
_local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y)));
var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity);
var _local11:Number = (_arg5.m_radius - b2Settings.b2_toiSlop);
if (_local10 > _local11){
_local10 = (_local10 - _local11);
_local12 = (_arg2.x - _arg1.x);
_local13 = (_arg2.y - _arg1.y);
_local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13)));
_local12 = (_local12 / _local14);
_local13 = (_local13 / _local14);
_arg2.x = (_arg2.x - (_local11 * _local12));
_arg2.y = (_arg2.y - (_local11 * _local13));
} else {
_local10 = 0;
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
};
return (_local10);
}
public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{
var _local7:int = _arg3.m_type;
var _local8:int = _arg5.m_type;
if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){
return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6));
};
if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){
return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6));
};
if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){
return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4));
};
if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){
return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6));
};
return (0);
}
public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{
var _local9:b2Vec2;
var _local10:b2Vec2;
var _local11:b2Vec2;
var _local17:Number;
var _local6:b2Vec2 = _arg5[0];
var _local7:b2Vec2 = _arg5[1];
var _local8:b2Vec2 = _arg3[0];
_local9 = _arg3[1];
_local10 = _arg4[0];
_local11 = _arg4[1];
var _local12:Number = -(_local7.x);
var _local13:Number = -(_local7.y);
var _local14:Number = (_local6.x - _local7.x);
var _local15:Number = (_local6.y - _local7.y);
var _local16:Number = Math.sqrt(((_local14 * _local14) + (_local15 * _local15)));
_local14 = (_local14 / _local16);
_local15 = (_local15 / _local16);
_local17 = ((_local12 * _local14) + (_local13 * _local15));
if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){
_arg1.SetV(_local9);
_arg2.SetV(_local11);
_local8.SetV(_local9);
_local10.SetV(_local11);
_local6.SetV(_local7);
return (1);
};
_local17 = (_local17 / _local16);
_arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x)));
_arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y)));
_arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x)));
_arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y)));
return (2);
}
}
}//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2Manifold {
public var pointCount:int;// = 0
public var normal:b2Vec2;
public var points:Array;
public function b2Manifold(){
points = new Array(b2Settings.b2_maxManifoldPoints);
var _local1:int;
while (_local1 < b2Settings.b2_maxManifoldPoints) {
points[_local1] = new b2ManifoldPoint();
_local1++;
};
normal = new b2Vec2();
}
public function Set(_arg1:b2Manifold):void{
pointCount = _arg1.pointCount;
var _local2:int;
while (_local2 < b2Settings.b2_maxManifoldPoints) {
(points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]);
_local2++;
};
normal.SetV(_arg1.normal);
}
public function Reset():void{
var _local1:int;
while (_local1 < b2Settings.b2_maxManifoldPoints) {
(points[_local1] as b2ManifoldPoint).Reset();
_local1++;
};
normal.SetZero();
pointCount = 0;
}
}
}//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class b2ManifoldPoint {
public var separation:Number;
public var localPoint2:b2Vec2;
public var normalImpulse:Number;
public var tangentImpulse:Number;
public var localPoint1:b2Vec2;
public var id:b2ContactID;
public function b2ManifoldPoint(){
localPoint1 = new b2Vec2();
localPoint2 = new b2Vec2();
id = new b2ContactID();
super();
}
public function Set(_arg1:b2ManifoldPoint):void{
localPoint1.SetV(_arg1.localPoint1);
localPoint2.SetV(_arg1.localPoint2);
separation = _arg1.separation;
normalImpulse = _arg1.normalImpulse;
tangentImpulse = _arg1.tangentImpulse;
id.key = _arg1.id.key;
}
public function Reset():void{
localPoint1.SetZero();
localPoint2.SetZero();
separation = 0;
normalImpulse = 0;
tangentImpulse = 0;
id.key = 0;
}
}
}//package Box2D.Collision
Section 20
//b2OBB (Box2D.Collision.b2OBB)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class b2OBB {
public var R:b2Mat22;
public var center:b2Vec2;
public var extents:b2Vec2;
public function b2OBB(){
R = new b2Mat22();
center = new b2Vec2();
extents = new b2Vec2();
super();
}
}
}//package Box2D.Collision
Section 21
//b2Pair (Box2D.Collision.b2Pair)
package Box2D.Collision {
import Box2D.Common.*;
public class b2Pair {
public var proxyId1:uint;
public var userData;// = null
public var proxyId2:uint;
public var status:uint;
public var next:uint;
public static var e_pairFinal:uint = 4;
public static var b2_tableMask:int = (b2_tableCapacity - 1);
public static var e_pairRemoved:uint = 2;
public static var b2_nullPair:uint = b2Settings.USHRT_MAX;
public static var e_pairBuffered:uint = 1;
public static var b2_nullProxy:uint = b2Settings.USHRT_MAX;
public static var b2_tableCapacity:int = b2Settings.b2_maxPairs;
public function SetBuffered():void{
status = (status | e_pairBuffered);
}
public function IsBuffered():Boolean{
return (((status & e_pairBuffered) == e_pairBuffered));
}
public function IsFinal():Boolean{
return (((status & e_pairFinal) == e_pairFinal));
}
public function ClearRemoved():void{
status = (status & ~(e_pairRemoved));
}
public function SetFinal():void{
status = (status | e_pairFinal);
}
public function IsRemoved():Boolean{
return (((status & e_pairRemoved) == e_pairRemoved));
}
public function ClearBuffered():void{
status = (status & ~(e_pairBuffered));
}
public function SetRemoved():void{
status = (status | e_pairRemoved);
}
}
}//package Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback)
package Box2D.Collision {
public class b2PairCallback {
public function PairRemoved(_arg1, _arg2, _arg3):void{
}
public function PairAdded(_arg1, _arg2){
return (null);
}
}
}//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2PairManager {
public var m_pairCount:int;
public var m_pairBuffer:Array;
public var m_hashTable:Array;
public var m_callback:b2PairCallback;
public var m_pairs:Array;
public var m_pairBufferCount:int;
public var m_broadPhase:b2BroadPhase;
public var m_freePair:uint;
public function b2PairManager(){
var _local1:uint;
super();
m_hashTable = new Array(b2Pair.b2_tableCapacity);
_local1 = 0;
while (_local1 < b2Pair.b2_tableCapacity) {
m_hashTable[_local1] = b2Pair.b2_nullPair;
_local1++;
};
m_pairs = new Array(b2Settings.b2_maxPairs);
_local1 = 0;
while (_local1 < b2Settings.b2_maxPairs) {
m_pairs[_local1] = new b2Pair();
_local1++;
};
m_pairBuffer = new Array(b2Settings.b2_maxPairs);
_local1 = 0;
while (_local1 < b2Settings.b2_maxPairs) {
m_pairBuffer[_local1] = new b2BufferedPair();
_local1++;
};
_local1 = 0;
while (_local1 < b2Settings.b2_maxPairs) {
m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy;
m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy;
m_pairs[_local1].userData = null;
m_pairs[_local1].status = 0;
m_pairs[_local1].next = (_local1 + 1);
_local1++;
};
m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair;
m_pairCount = 0;
m_pairBufferCount = 0;
}
private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{
var _local4:b2Pair;
var _local5:uint = m_hashTable[_arg3];
_local4 = m_pairs[_local5];
while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) {
_local5 = _local4.next;
_local4 = m_pairs[_local5];
};
if (_local5 == b2Pair.b2_nullPair){
return (null);
};
return (_local4);
}
private function Find(_arg1:uint, _arg2:uint):b2Pair{
var _local4:uint;
if (_arg1 > _arg2){
_local4 = _arg1;
_arg1 = _arg2;
_arg2 = _local4;
};
var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask);
return (FindHash(_arg1, _arg2, _local3));
}
private function ValidateBuffer():void{
}
public function Commit():void{
var _local1:b2BufferedPair;
var _local2:int;
var _local5:b2Pair;
var _local6:b2Proxy;
var _local7:b2Proxy;
var _local3:int;
var _local4:Array = m_broadPhase.m_proxyPool;
_local2 = 0;
while (_local2 < m_pairBufferCount) {
_local1 = m_pairBuffer[_local2];
_local5 = Find(_local1.proxyId1, _local1.proxyId2);
_local5.ClearBuffered();
_local6 = _local4[_local5.proxyId1];
_local7 = _local4[_local5.proxyId2];
if (_local5.IsRemoved()){
if (_local5.IsFinal() == true){
m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData);
};
_local1 = m_pairBuffer[_local3];
_local1.proxyId1 = _local5.proxyId1;
_local1.proxyId2 = _local5.proxyId2;
_local3++;
} else {
if (_local5.IsFinal() == false){
_local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData);
_local5.SetFinal();
};
};
_local2++;
};
_local2 = 0;
while (_local2 < _local3) {
_local1 = m_pairBuffer[_local2];
RemovePair(_local1.proxyId1, _local1.proxyId2);
_local2++;
};
m_pairBufferCount = 0;
if (b2BroadPhase.s_validate){
ValidateTable();
};
}
public function RemoveBufferedPair(_arg1:int, _arg2:int):void{
var _local3:b2BufferedPair;
var _local4:b2Pair = Find(_arg1, _arg2);
if (_local4 == null){
return;
};
if (_local4.IsBuffered() == false){
_local4.SetBuffered();
_local3 = m_pairBuffer[m_pairBufferCount];
_local3.proxyId1 = _local4.proxyId1;
_local3.proxyId2 = _local4.proxyId2;
m_pairBufferCount++;
};
_local4.SetRemoved();
if (b2BroadPhase.s_validate){
ValidateBuffer();
};
}
private function RemovePair(_arg1:uint, _arg2:uint){
var _local3:b2Pair;
var _local7:uint;
var _local8:uint;
var _local9:*;
if (_arg1 > _arg2){
_local7 = _arg1;
_arg1 = _arg2;
_arg2 = _local7;
};
var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask);
var _local5:uint = m_hashTable[_local4];
var _local6:b2Pair;
while (_local5 != b2Pair.b2_nullPair) {
if (Equals(m_pairs[_local5], _arg1, _arg2)){
_local8 = _local5;
_local3 = m_pairs[_local5];
if (_local6){
_local6.next = _local3.next;
} else {
m_hashTable[_local4] = _local3.next;
};
_local3 = m_pairs[_local8];
_local9 = _local3.userData;
_local3.next = m_freePair;
_local3.proxyId1 = b2Pair.b2_nullProxy;
_local3.proxyId2 = b2Pair.b2_nullProxy;
_local3.userData = null;
_local3.status = 0;
m_freePair = _local8;
m_pairCount--;
return (_local9);
} else {
_local6 = m_pairs[_local5];
_local5 = _local6.next;
};
};
return (null);
}
public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{
m_broadPhase = _arg1;
m_callback = _arg2;
}
public function AddBufferedPair(_arg1:int, _arg2:int):void{
var _local3:b2BufferedPair;
var _local4:b2Pair = AddPair(_arg1, _arg2);
if (_local4.IsBuffered() == false){
_local4.SetBuffered();
_local3 = m_pairBuffer[m_pairBufferCount];
_local3.proxyId1 = _local4.proxyId1;
_local3.proxyId2 = _local4.proxyId2;
m_pairBufferCount++;
};
_local4.ClearRemoved();
if (b2BroadPhase.s_validate){
ValidateBuffer();
};
}
private function AddPair(_arg1:uint, _arg2:uint):b2Pair{
var _local6:uint;
if (_arg1 > _arg2){
_local6 = _arg1;
_arg1 = _arg2;
_arg2 = _local6;
};
var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask);
var _local4 = FindHash(_arg1, _arg2, _local3);
if (_local4 != null){
return (_local4);
};
var _local5:uint = m_freePair;
_local4 = m_pairs[_local5];
m_freePair = _local4.next;
_local4.proxyId1 = _arg1;
_local4.proxyId2 = _arg2;
_local4.status = 0;
_local4.userData = null;
_local4.next = m_hashTable[_local3];
m_hashTable[_local3] = _local5;
m_pairCount++;
return (_local4);
}
private function ValidateTable():void{
}
public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{
return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2))));
}
public static function Hash(_arg1:uint, _arg2:uint):uint{
var _local3:uint = (((_arg2 << 16) & 4294901760) | _arg1);
_local3 = (~(_local3) + ((_local3 << 15) & 4294934528));
_local3 = (_local3 ^ ((_local3 >> 12) & 1048575));
_local3 = (_local3 + ((_local3 << 2) & 4294967292));
_local3 = (_local3 ^ ((_local3 >> 4) & 268435455));
_local3 = (_local3 * 2057);
_local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF));
return (_local3);
}
public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{
return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3))));
}
}
}//package Box2D.Collision
Section 24
//b2Point (Box2D.Collision.b2Point)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class b2Point {
public var p:b2Vec2;
public function b2Point(){
p = new b2Vec2();
super();
}
public function GetFirstVertex(_arg1:b2XForm):b2Vec2{
return (p);
}
public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{
return (p);
}
}
}//package Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy)
package Box2D.Collision {
public class b2Proxy {
public var overlapCount:uint;
public var userData;// = null
public var lowerBounds:Array;
public var upperBounds:Array;
public var timeStamp:uint;
public function b2Proxy(){
lowerBounds = [uint(0), uint(0)];
upperBounds = [uint(0), uint(0)];
super();
}
public function GetNext():uint{
return (lowerBounds[0]);
}
public function IsValid():Boolean{
return (!((overlapCount == b2BroadPhase.b2_invalid)));
}
public function SetNext(_arg1:uint):void{
lowerBounds[0] = (_arg1 & 0xFFFF);
}
}
}//package Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2Segment {
public var p1:b2Vec2;
public var p2:b2Vec2;
public function b2Segment(){
p1 = new b2Vec2();
p2 = new b2Vec2();
super();
}
public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local5:b2Vec2 = _arg3.p1;
var _local6:Number = (_arg3.p2.x - _local5.x);
var _local7:Number = (_arg3.p2.y - _local5.y);
var _local8:Number = (p2.x - p1.x);
var _local9:Number = (p2.y - p1.y);
var _local10:Number = _local9;
var _local11:Number = -(_local8);
var _local12:Number = (100 * Number.MIN_VALUE);
var _local13:Number = -(((_local6 * _local10) + (_local7 * _local11)));
if (_local13 > _local12){
_local14 = (_local5.x - p1.x);
_local15 = (_local5.y - p1.y);
_local16 = ((_local14 * _local10) + (_local15 * _local11));
if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){
_local17 = ((-(_local7) * _local15) + (_local7 * _local14));
if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){
_local16 = (_local16 / _local13);
_local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11)));
_local10 = (_local10 / _local18);
_local11 = (_local11 / _local18);
_arg1[0] = _local16;
_arg2.Set(_local10, _local11);
return (true);
};
};
};
return (false);
}
public function Extend(_arg1:b2AABB):void{
ExtendForward(_arg1);
ExtendBackward(_arg1);
}
public function ExtendForward(_arg1:b2AABB):void{
var _local4:Number;
var _local2:Number = (p2.x - p1.x);
var _local3:Number = (p2.y - p1.y);
_local4 = Math.min(((_local2 > 0)) ? ((_arg1.upperBound.x - p1.x) / _local2) : ((_local2 < 0)) ? ((_arg1.lowerBound.x - p1.x) / _local2) : Number.POSITIVE_INFINITY, ((_local3 > 0)) ? ((_arg1.upperBound.y - p1.y) / _local3) : ((_local3 < 0)) ? ((_arg1.lowerBound.y - p1.y) / _local3) : Number.POSITIVE_INFINITY);
p2.x = (p1.x + (_local2 * _local4));
p2.y = (p1.y + (_local3 * _local4));
}
public function ExtendBackward(_arg1:b2AABB):void{
var _local4:Number;
var _local2:Number = (-(p2.x) + p1.x);
var _local3:Number = (-(p2.y) + p1.y);
_local4 = Math.min(((_local2 > 0)) ? ((_arg1.upperBound.x - p2.x) / _local2) : ((_local2 < 0)) ? ((_arg1.lowerBound.x - p2.x) / _local2) : Number.POSITIVE_INFINITY, ((_local3 > 0)) ? ((_arg1.upperBound.y - p2.y) / _local3) : ((_local3 < 0)) ? ((_arg1.lowerBound.y - p2.y) / _local3) : Number.POSITIVE_INFINITY);
p1.x = (p2.x + (_local2 * _local4));
p1.y = (p2.y + (_local3 * _local4));
}
}
}//package Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact)
package Box2D.Collision {
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2TimeOfImpact {
public static var s_xf1:b2XForm = new b2XForm();
public static var s_xf2:b2XForm = new b2XForm();
public static var s_p1:b2Vec2 = new b2Vec2();
public static var s_p2:b2Vec2 = new b2Vec2();
public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{
var _local5:Number;
var _local6:Number;
var _local25:Number;
var _local26:b2XForm;
var _local27:b2XForm;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local7:Number = _arg1.m_sweepRadius;
var _local8:Number = _arg3.m_sweepRadius;
var _local9:Number = _arg2.t0;
var _local10:Number = (_arg2.c.x - _arg2.c0.x);
var _local11:Number = (_arg2.c.y - _arg2.c0.y);
var _local12:Number = (_arg4.c.x - _arg4.c0.x);
var _local13:Number = (_arg4.c.y - _arg4.c0.y);
var _local14:Number = (_arg2.a - _arg2.a0);
var _local15:Number = (_arg4.a - _arg4.a0);
var _local16:Number = 0;
var _local17:b2Vec2 = s_p1;
var _local18:b2Vec2 = s_p2;
var _local19 = 20;
var _local20:int;
var _local21:Number = 0;
var _local22:Number = 0;
var _local23:Number = 0;
var _local24:Number = 0;
while (true) {
_local25 = (((1 - _local16) * _local9) + _local16);
_local26 = s_xf1;
_local27 = s_xf2;
_arg2.GetXForm(_local26, _local25);
_arg4.GetXForm(_local27, _local25);
_local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27);
if (_local20 == 0){
if (_local23 > (2 * b2Settings.b2_toiSlop)){
_local24 = (1.5 * b2Settings.b2_toiSlop);
} else {
_local5 = (0.05 * b2Settings.b2_toiSlop);
_local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop));
_local24 = ((_local5 > _local6)) ? _local5 : _local6;
};
};
if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){
break;
};
_local21 = (_local18.x - _local17.x);
_local22 = (_local18.y - _local17.y);
_local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22)));
_local21 = (_local21 / _local28);
_local22 = (_local22 / _local28);
_local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8));
if (_local29 == 0){
_local16 = 1;
break;
};
_local30 = ((_local23 - _local24) / _local29);
_local31 = (_local16 + _local30);
if ((((_local31 < 0)) || ((1 < _local31)))){
_local16 = 1;
break;
};
if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){
break;
};
_local16 = _local31;
_local20++;
};
return (_local16);
}
}
}//package Box2D.Collision
Section 28
//ClipVertex (Box2D.Collision.ClipVertex)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class ClipVertex {
public var id:b2ContactID;
public var v:b2Vec2;
public function ClipVertex(){
v = new b2Vec2();
id = new b2ContactID();
super();
}
}
}//package Box2D.Collision
Section 29
//Features (Box2D.Collision.Features)
package Box2D.Collision {
public class Features {
public var _referenceEdge:int;
public var _incidentEdge:int;
public var _flip:int;
public var _incidentVertex:int;
public var _m_id:b2ContactID;
public function get referenceEdge():int{
return (_referenceEdge);
}
public function set incidentVertex(_arg1:int):void{
_incidentVertex = _arg1;
_m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000));
}
public function get flip():int{
return (_flip);
}
public function get incidentEdge():int{
return (_incidentEdge);
}
public function set referenceEdge(_arg1:int):void{
_referenceEdge = _arg1;
_m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF));
}
public function get incidentVertex():int{
return (_incidentVertex);
}
public function set flip(_arg1:int):void{
_flip = _arg1;
_m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080));
}
public function set incidentEdge(_arg1:int):void{
_incidentEdge = _arg1;
_m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00));
}
}
}//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22)
package Box2D.Common.Math {
public class b2Mat22 {
public var col1:b2Vec2;
public var col2:b2Vec2;
public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){
var _local4:Number;
var _local5:Number;
col1 = new b2Vec2();
col2 = new b2Vec2();
super();
if (((!((_arg2 == null))) && (!((_arg3 == null))))){
col1.SetV(_arg2);
col2.SetV(_arg3);
} else {
_local4 = Math.cos(_arg1);
_local5 = Math.sin(_arg1);
col1.x = _local4;
col2.x = -(_local5);
col1.y = _local5;
col2.y = _local4;
};
}
public function SetIdentity():void{
col1.x = 1;
col2.x = 0;
col1.y = 0;
col2.y = 1;
}
public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{
col1.SetV(_arg1);
col2.SetV(_arg2);
}
public function Set(_arg1:Number):void{
var _local2:Number;
_local2 = Math.cos(_arg1);
var _local3:Number = Math.sin(_arg1);
col1.x = _local2;
col2.x = -(_local3);
col1.y = _local3;
col2.y = _local2;
}
public function SetZero():void{
col1.x = 0;
col2.x = 0;
col1.y = 0;
col2.y = 0;
}
public function SetM(_arg1:b2Mat22):void{
col1.SetV(_arg1.col1);
col2.SetV(_arg1.col2);
}
public function AddM(_arg1:b2Mat22):void{
col1.x = (col1.x + _arg1.col1.x);
col1.y = (col1.y + _arg1.col1.y);
col2.x = (col2.x + _arg1.col2.x);
col2.y = (col2.y + _arg1.col2.y);
}
public function Abs():void{
col1.Abs();
col2.Abs();
}
public function Copy():b2Mat22{
return (new b2Mat22(0, col1, col2));
}
public function Invert(_arg1:b2Mat22):b2Mat22{
var _local2:Number;
var _local4:Number;
var _local6:Number;
_local2 = col1.x;
var _local3:Number = col2.x;
_local4 = col1.y;
var _local5:Number = col2.y;
_local6 = ((_local2 * _local5) - (_local3 * _local4));
_local6 = (1 / _local6);
_arg1.col1.x = (_local6 * _local5);
_arg1.col2.x = (-(_local6) * _local3);
_arg1.col1.y = (-(_local6) * _local4);
_arg1.col2.y = (_local6 * _local2);
return (_arg1);
}
public function GetAngle():Number{
return (Math.atan2(col1.y, col1.x));
}
public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{
var _local4:Number = col1.x;
var _local5:Number = col2.x;
var _local6:Number = col1.y;
var _local7:Number = col2.y;
var _local8:Number = ((_local4 * _local7) - (_local5 * _local6));
_local8 = (1 / _local8);
_arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3)));
_arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2)));
return (_arg1);
}
}
}//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math)
package Box2D.Common.Math {
public class b2Math {
public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1));
public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity);
public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0);
public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{
var _local3:b2Vec2 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x));
return (_local3);
}
public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y));
return (_local3);
}
public static function b2IsValid(_arg1:Number):Boolean{
return (isFinite(_arg1));
}
public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y));
return (_local3);
}
public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = b2MulMV(_arg1.R, _arg2);
_local3.x = (_local3.x + _arg1.position.x);
_local3.y = (_local3.y + _arg1.position.y);
return (_local3);
}
public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{
var _local3:Number = (_arg1.x - _arg2.x);
var _local4:Number = (_arg1.y - _arg2.y);
return (((_local3 * _local3) + (_local4 * _local4)));
}
public static function b2Swap(_arg1:Array, _arg2:Array):void{
var _local3:* = _arg1[0];
_arg1[0] = _arg2[0];
_arg2[0] = _local3;
}
public static function b2AbsM(_arg1:b2Mat22):b2Mat22{
var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2));
return (_local2);
}
public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y));
return (_local3);
}
public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
var _local4:Number;
_local3 = SubtractVV(_arg2, _arg1.position);
_local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y));
_local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y));
_local3.x = _local4;
return (_local3);
}
public static function b2Abs(_arg1:Number):Number{
return (((_arg1 > 0)) ? _arg1 : -(_arg1));
}
public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (b2Max(_arg2, b2Min(_arg1, _arg3)));
}
public static function b2AbsV(_arg1:b2Vec2):b2Vec2{
var _local2:b2Vec2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y));
return (_local2);
}
public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y));
return (_local3);
}
public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{
return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x)));
}
public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{
return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)));
}
public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x));
return (_local3);
}
public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{
var _local3:b2Mat22 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2));
return (_local3);
}
public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{
var _local3:Number = (_arg1.x - _arg2.x);
var _local4:Number = (_arg1.y - _arg2.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{
var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1));
var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2));
var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4);
return (_local5);
}
public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y));
return (_local3);
}
public static function b2IsPowerOfTwo(_arg1:uint):Boolean{
var _local2:Boolean = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0)));
return (_local2);
}
public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{
return (b2MaxV(_arg2, b2MinV(_arg1, _arg3)));
}
public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{
var _local3:Number = Math.random();
_local3 = (((_arg2 - _arg1) * _local3) + _arg1);
return (_local3);
}
public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2));
return (_local3);
}
public static function b2Min(_arg1:Number, _arg2:Number):Number{
return (((_arg1 < _arg2)) ? _arg1 : _arg2);
}
public static function b2Random():Number{
return (((Math.random() * 2) - 1));
}
public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{
var _local3:b2Mat22 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2));
return (_local3);
}
public static function b2NextPowerOfTwo(_arg1:uint):uint{
_arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647));
_arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823));
_arg1 = (_arg1 | ((_arg1 >> 4) & 268435455));
_arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF));
_arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF));
return ((_arg1 + 1));
}
public static function b2Max(_arg1:Number, _arg2:Number):Number{
return (((_arg1 > _arg2)) ? _arg1 : _arg2);
}
public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y)));
return (_local3);
}
}
}//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep)
package Box2D.Common.Math {
public class b2Sweep {
public var localCenter:b2Vec2;
public var a:Number;
public var c:b2Vec2;
public var a0:Number;
public var c0:b2Vec2;
public var t0:Number;
public function b2Sweep(){
localCenter = new b2Vec2();
c0 = new b2Vec2();
c = new b2Vec2();
super();
}
public function Advance(_arg1:Number):void{
var _local2:Number;
if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){
_local2 = ((_arg1 - t0) / (1 - t0));
c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x));
c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y));
a0 = (((1 - _local2) * a0) + (_local2 * a));
t0 = _arg1;
};
}
public function GetXForm(_arg1:b2XForm, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
if ((1 - t0) > Number.MIN_VALUE){
_local4 = ((_arg2 - t0) / (1 - t0));
_arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x));
_arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y));
_local5 = (((1 - _local4) * a0) + (_local4 * a));
_arg1.R.Set(_local5);
} else {
_arg1.position.SetV(c);
_arg1.R.Set(a);
};
var _local3:b2Mat22 = _arg1.R;
_arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y)));
_arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y)));
}
}
}//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2)
package Box2D.Common.Math {
public class b2Vec2 {
public var y:Number;
public var x:Number;
public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{
x = _arg1;
y = _arg2;
}
public function Add(_arg1:b2Vec2):void{
x = (x + _arg1.x);
y = (y + _arg1.y);
}
public function Set(_arg1:Number=0, _arg2:Number=0):void{
x = _arg1;
y = _arg2;
}
public function Multiply(_arg1:Number):void{
x = (x * _arg1);
y = (y * _arg1);
}
public function Length():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function LengthSquared():Number{
return (((x * x) + (y * y)));
}
public function MulM(_arg1:b2Mat22):void{
var _local2:Number = x;
x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y));
y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y));
}
public function SetZero():void{
x = 0;
y = 0;
}
public function MinV(_arg1:b2Vec2):void{
x = ((x < _arg1.x)) ? x : _arg1.x;
y = ((y < _arg1.y)) ? y : _arg1.y;
}
public function Normalize():Number{
var _local1:Number = Math.sqrt(((x * x) + (y * y)));
if (_local1 < Number.MIN_VALUE){
return (0);
};
var _local2:Number = (1 / _local1);
x = (x * _local2);
y = (y * _local2);
return (_local1);
}
public function CrossVF(_arg1:Number):void{
var _local2:Number = x;
x = (_arg1 * y);
y = (-(_arg1) * _local2);
}
public function MaxV(_arg1:b2Vec2):void{
x = ((x > _arg1.x)) ? x : _arg1.x;
y = ((y > _arg1.y)) ? y : _arg1.y;
}
public function SetV(_arg1:b2Vec2):void{
x = _arg1.x;
y = _arg1.y;
}
public function Negative():b2Vec2{
return (new b2Vec2(-(x), -(y)));
}
public function CrossFV(_arg1:Number):void{
var _local2:Number = x;
x = (-(_arg1) * y);
y = (_arg1 * _local2);
}
public function Abs():void{
if (x < 0){
x = -(x);
};
if (y < 0){
y = -(y);
};
}
public function Subtract(_arg1:b2Vec2):void{
x = (x - _arg1.x);
y = (y - _arg1.y);
}
public function Copy():b2Vec2{
return (new b2Vec2(x, y));
}
public function MulTM(_arg1:b2Mat22):void{
var _local2:Number = b2Math.b2Dot(this, _arg1.col1);
y = b2Math.b2Dot(this, _arg1.col2);
x = _local2;
}
public function IsValid():Boolean{
return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y))));
}
public static function Make(_arg1:Number, _arg2:Number):b2Vec2{
return (new b2Vec2(_arg1, _arg2));
}
}
}//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm)
package Box2D.Common.Math {
public class b2XForm {
public var position:b2Vec2;
public var R:b2Mat22;
public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{
position = new b2Vec2();
R = new b2Mat22();
super();
if (_arg1){
position.SetV(_arg1);
R.SetM(_arg2);
};
}
public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{
position.SetV(_arg1);
R.SetM(_arg2);
}
public function Set(_arg1:b2XForm):void{
position.SetV(_arg1.position);
R.SetM(_arg1.R);
}
public function SetIdentity():void{
position.SetZero();
R.SetIdentity();
}
}
}//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color)
package Box2D.Common {
import Box2D.Common.Math.*;
public class b2Color {
private var _r:uint;// = 0
private var _g:uint;// = 0
private var _b:uint;// = 0
public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){
_r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
_g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));
_b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1)));
}
public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{
_r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
_g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));
_b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1)));
}
public function set b(_arg1:Number):void{
_b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
}
public function get color():uint{
return (((_r | (_g << 8)) | (_b << 16)));
}
public function set r(_arg1:Number):void{
_r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
}
public function set g(_arg1:Number):void{
_g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
}
}
}//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings)
package Box2D.Common {
import Box2D.Common.Math.*;
public class b2Settings {
public static const b2_angularSleepTolerance:Number = 0.0111111111111111;
public static const b2_linearSleepTolerance:Number = 0.01;
public static const b2_angularSlop:Number = 0.0349065850398866;
public static const b2_linearSlop:Number = 0.005;
public static const b2_pi:Number = 3.14159265358979;
public static const b2_maxProxies:int = 0x0200;
public static const b2_maxAngularVelocitySquared:Number = 62500;
public static const b2_maxPolygonVertices:int = 8;
public static const b2_velocityThreshold:Number = 1;
public static const b2_contactBaumgarte:Number = 0.2;
public static const b2_maxPairs:int = 4096;
public static const b2_maxTOIContactsPerIsland:int = 32;
public static const b2_timeToSleep:Number = 0.5;
public static const b2_maxManifoldPoints:int = 2;
public static const b2_maxAngularVelocity:Number = 250;
public static const b2_maxAngularCorrection:Number = 0.139626340159546;
public static const USHRT_MAX:int = 0xFFFF;
public static const b2_maxLinearVelocity:Number = 200;
public static const b2_maxLinearCorrection:Number = 0.2;
public static const b2_toiSlop:Number = 0.04;
public static const b2_maxLinearVelocitySquared:Number = 40000;
public static function b2Assert(_arg1:Boolean):void{
var _local2:b2Vec2;
if (!_arg1){
_local2.x++;
};
}
}
}//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2CircleContact extends b2Contact {
private var m_manifolds:Array;
public var m_manifold:b2Manifold;
private var m0:b2Manifold;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){
m_manifolds = [new b2Manifold()];
m0 = new b2Manifold();
super(_arg1, _arg2);
m_manifold = m_manifolds[0];
m_manifold.pointCount = 0;
var _local3:b2ManifoldPoint = m_manifold.points[0];
_local3.normalImpulse = 0;
_local3.tangentImpulse = 0;
}
override public function Evaluate(_arg1:b2ContactListener):void{
var _local2:b2Vec2;
var _local3:b2Vec2;
var _local4:b2ManifoldPoint;
var _local8:b2ManifoldPoint;
var _local5:b2Body = m_shape1.m_body;
var _local6:b2Body = m_shape2.m_body;
m0.Set(m_manifold);
b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf);
var _local7:b2ContactPoint = s_evalCP;
_local7.shape1 = m_shape1;
_local7.shape2 = m_shape2;
_local7.friction = m_friction;
_local7.restitution = m_restitution;
if (m_manifold.pointCount > 0){
m_manifoldCount = 1;
_local8 = m_manifold.points[0];
if (m0.pointCount == 0){
_local8.normalImpulse = 0;
_local8.tangentImpulse = 0;
if (_arg1){
_local7.position = _local5.GetWorldPoint(_local8.localPoint1);
_local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2);
_local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local8.separation;
_local7.id.key = _local8.id._key;
_arg1.Add(_local7);
};
} else {
_local4 = m0.points[0];
_local8.normalImpulse = _local4.normalImpulse;
_local8.tangentImpulse = _local4.tangentImpulse;
if (_arg1){
_local7.position = _local5.GetWorldPoint(_local8.localPoint1);
_local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2);
_local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local8.separation;
_local7.id.key = _local8.id._key;
_arg1.Persist(_local7);
};
};
} else {
m_manifoldCount = 0;
if ((((m0.pointCount > 0)) && (_arg1))){
_local4 = m0.points[0];
_local7.position = _local5.GetWorldPoint(_local4.localPoint1);
_local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2);
_local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m0.normal);
_local7.separation = _local4.separation;
_local7.id.key = _local4.id._key;
_arg1.Remove(_local7);
};
};
}
override public function GetManifolds():Array{
return (m_manifolds);
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
return (new b2CircleContact(_arg1, _arg2));
}
}
}//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2Contact {
public var m_shape1:b2Shape;
public var m_shape2:b2Shape;
public var m_prev:b2Contact;
public var m_toi:Number;
public var m_next:b2Contact;
public var m_friction:Number;
public var m_manifoldCount:int;
public var m_node1:b2ContactEdge;
public var m_node2:b2ContactEdge;
public var m_restitution:Number;
public var m_flags:uint;
public static var e_toiFlag:uint = 8;
public static var e_nonSolidFlag:uint = 1;
public static var e_slowFlag:uint = 2;
public static var e_islandFlag:uint = 4;
public static var s_registers:Array;
public static var s_initialized:Boolean = false;
public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){
m_node1 = new b2ContactEdge();
m_node2 = new b2ContactEdge();
super();
m_flags = 0;
if (((!(_arg1)) || (!(_arg2)))){
m_shape1 = null;
m_shape2 = null;
return;
};
if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){
m_flags = (m_flags | e_nonSolidFlag);
};
m_shape1 = _arg1;
m_shape2 = _arg2;
m_manifoldCount = 0;
m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction));
m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution);
m_prev = null;
m_next = null;
m_node1.contact = null;
m_node1.prev = null;
m_node1.next = null;
m_node1.other = null;
m_node2.contact = null;
m_node2.prev = null;
m_node2.next = null;
m_node2.other = null;
}
public function IsSolid():Boolean{
return (((m_flags & e_nonSolidFlag) == 0));
}
public function GetShape1():b2Shape{
return (m_shape1);
}
public function GetShape2():b2Shape{
return (m_shape2);
}
public function GetNext():b2Contact{
return (m_next);
}
public function GetManifoldCount():int{
return (m_manifoldCount);
}
public function GetManifolds():Array{
return (null);
}
public function Update(_arg1:b2ContactListener):void{
var _local2:int = m_manifoldCount;
Evaluate(_arg1);
var _local3:int = m_manifoldCount;
var _local4:b2Body = m_shape1.m_body;
var _local5:b2Body = m_shape2.m_body;
if ((((_local3 == 0)) && ((_local2 > 0)))){
_local4.WakeUp();
_local5.WakeUp();
};
if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){
m_flags = (m_flags & ~(e_slowFlag));
} else {
m_flags = (m_flags | e_slowFlag);
};
}
public function Evaluate(_arg1:b2ContactListener):void{
}
public static function InitializeRegisters():void{
var _local2:int;
s_registers = new Array(b2Shape.e_shapeTypeCount);
var _local1:int;
while (_local1 < b2Shape.e_shapeTypeCount) {
s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount);
_local2 = 0;
while (_local2 < b2Shape.e_shapeTypeCount) {
s_registers[_local1][_local2] = new b2ContactRegister();
_local2++;
};
_local1++;
};
AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape);
AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape);
AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape);
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
if (_arg1.m_manifoldCount > 0){
_arg1.m_shape1.m_body.WakeUp();
_arg1.m_shape2.m_body.WakeUp();
};
var _local3:int = _arg1.m_shape1.m_type;
var _local4:int = _arg1.m_shape2.m_type;
var _local5:b2ContactRegister = s_registers[_local3][_local4];
var _local6:Function = _local5.destroyFcn;
_local6(_arg1, _arg2);
}
public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{
s_registers[_arg3][_arg4].createFcn = _arg1;
s_registers[_arg3][_arg4].destroyFcn = _arg2;
s_registers[_arg3][_arg4].primary = true;
if (_arg3 != _arg4){
s_registers[_arg4][_arg3].createFcn = _arg1;
s_registers[_arg4][_arg3].destroyFcn = _arg2;
s_registers[_arg4][_arg3].primary = false;
};
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
var _local8:b2Contact;
var _local9:int;
var _local10:b2Manifold;
if (s_initialized == false){
InitializeRegisters();
s_initialized = true;
};
var _local4:int = _arg1.m_type;
var _local5:int = _arg2.m_type;
var _local6:b2ContactRegister = s_registers[_local4][_local5];
var _local7:Function = _local6.createFcn;
if (_local7 != null){
if (_local6.primary){
return (_local7(_arg1, _arg2, _arg3));
};
_local8 = _local7(_arg2, _arg1, _arg3);
_local9 = 0;
while (_local9 < _local8.m_manifoldCount) {
_local10 = _local8.GetManifolds()[_local9];
_local8.GetManifolds()[_local9].normal = _local10.normal.Negative();
_local9++;
};
return (_local8);
//unresolved jump
};
return (null);
}
}
}//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2ContactConstraint {
public var points:Array;
public var normal:b2Vec2;
public var restitution:Number;
public var body1:b2Body;
public var manifold:b2Manifold;
public var body2:b2Body;
public var friction:Number;
public var pointCount:int;
public function b2ContactConstraint(){
normal = new b2Vec2();
super();
points = new Array(b2Settings.b2_maxManifoldPoints);
var _local1:int;
while (_local1 < b2Settings.b2_maxManifoldPoints) {
points[_local1] = new b2ContactConstraintPoint();
_local1++;
};
}
}
}//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
public class b2ContactConstraintPoint {
public var r2:b2Vec2;
public var separation:Number;
public var positionImpulse:Number;
public var normalImpulse:Number;
public var tangentMass:Number;
public var equalizedMass:Number;
public var tangentImpulse:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var normalMass:Number;
public var velocityBias:Number;
public var r1:b2Vec2;
public function b2ContactConstraintPoint(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
r1 = new b2Vec2();
r2 = new b2Vec2();
super();
}
}
}//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge)
package Box2D.Dynamics.Contacts {
import Box2D.Dynamics.*;
public class b2ContactEdge {
public var other:b2Body;
public var prev:b2ContactEdge;
public var contact:b2Contact;
public var next:b2ContactEdge;
}
}//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister)
package Box2D.Dynamics.Contacts {
public class b2ContactRegister {
public var primary:Boolean;
public var createFcn:Function;
public var destroyFcn:Function;
}
}//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
public class b2ContactResult {
public var position:b2Vec2;
public var shape1:b2Shape;
public var shape2:b2Shape;
public var normalImpulse:Number;
public var normal:b2Vec2;
public var tangentImpulse:Number;
public var id:b2ContactID;
public function b2ContactResult(){
position = new b2Vec2();
normal = new b2Vec2();
id = new b2ContactID();
super();
}
}
}//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2ContactSolver {
public var m_constraintCount:int;
public var m_constraints:Array;
public var m_allocator;
public var m_step:b2TimeStep;
public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){
var _local5:b2Contact;
var _local6:int;
var _local7:b2Vec2;
var _local8:b2Mat22;
var _local10:b2Body;
var _local11:b2Body;
var _local12:int;
var _local13:Array;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:int;
var _local23:b2Manifold;
var _local24:Number;
var _local25:Number;
var _local26:b2ContactConstraint;
var _local27:uint;
var _local28:b2ManifoldPoint;
var _local29:b2ContactConstraintPoint;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:Number;
var _local38:Number;
var _local39:Number;
var _local40:Number;
var _local41:Number;
var _local42:Number;
var _local43:Number;
var _local44:Number;
var _local45:Number;
var _local46:Number;
var _local47:Number;
m_step = new b2TimeStep();
m_constraints = new Array();
super();
m_step.dt = _arg1.dt;
m_step.inv_dt = _arg1.inv_dt;
m_step.maxIterations = _arg1.maxIterations;
m_allocator = _arg4;
m_constraintCount = 0;
_local6 = 0;
while (_local6 < _arg3) {
_local5 = _arg2[_local6];
m_constraintCount = (m_constraintCount + _local5.m_manifoldCount);
_local6++;
};
_local6 = 0;
while (_local6 < m_constraintCount) {
m_constraints[_local6] = new b2ContactConstraint();
_local6++;
};
var _local9:int;
_local6 = 0;
while (_local6 < _arg3) {
_local5 = _arg2[_local6];
_local10 = _local5.m_shape1.m_body;
_local11 = _local5.m_shape2.m_body;
_local12 = _local5.m_manifoldCount;
_local13 = _local5.GetManifolds();
_local14 = _local5.m_friction;
_local15 = _local5.m_restitution;
_local16 = _local10.m_linearVelocity.x;
_local17 = _local10.m_linearVelocity.y;
_local18 = _local11.m_linearVelocity.x;
_local19 = _local11.m_linearVelocity.y;
_local20 = _local10.m_angularVelocity;
_local21 = _local11.m_angularVelocity;
_local22 = 0;
while (_local22 < _local12) {
_local23 = _local13[_local22];
_local24 = _local23.normal.x;
_local25 = _local23.normal.y;
_local26 = m_constraints[_local9];
_local26.body1 = _local10;
_local26.body2 = _local11;
_local26.manifold = _local23;
_local26.normal.x = _local24;
_local26.normal.y = _local25;
_local26.pointCount = _local23.pointCount;
_local26.friction = _local14;
_local26.restitution = _local15;
_local27 = 0;
while (_local27 < _local26.pointCount) {
_local28 = _local23.points[_local27];
_local29 = _local26.points[_local27];
_local29.normalImpulse = _local28.normalImpulse;
_local29.tangentImpulse = _local28.tangentImpulse;
_local29.separation = _local28.separation;
_local29.positionImpulse = 0;
_local29.localAnchor1.SetV(_local28.localPoint1);
_local29.localAnchor2.SetV(_local28.localPoint2);
_local8 = _local10.m_xf.R;
_local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x);
_local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y);
_local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33));
_local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33));
_local32 = _local30;
_local29.r1.Set(_local32, _local33);
_local8 = _local11.m_xf.R;
_local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x);
_local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y);
_local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35));
_local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35));
_local34 = _local30;
_local29.r2.Set(_local34, _local35);
_local36 = ((_local32 * _local32) + (_local33 * _local33));
_local37 = ((_local34 * _local34) + (_local35 * _local35));
_local38 = ((_local32 * _local24) + (_local33 * _local25));
_local39 = ((_local34 * _local24) + (_local35 * _local25));
_local40 = (_local10.m_invMass + _local11.m_invMass);
_local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39)))));
_local29.normalMass = (1 / _local40);
_local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass));
_local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39)))));
_local29.equalizedMass = (1 / _local41);
_local42 = _local25;
_local43 = -(_local24);
_local44 = ((_local32 * _local42) + (_local33 * _local43));
_local45 = ((_local34 * _local42) + (_local35 * _local43));
_local46 = (_local10.m_invMass + _local11.m_invMass);
_local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45)))));
_local29.tangentMass = (1 / _local46);
_local29.velocityBias = 0;
if (_local29.separation > 0){
_local29.velocityBias = (-60 * _local29.separation);
};
_local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33));
_local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32));
_local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31));
if (_local47 < -(b2Settings.b2_velocityThreshold)){
_local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47));
};
_local27++;
};
_local9++;
_local22++;
};
_local6++;
};
}
public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local2:b2Vec2;
var _local3:b2Vec2;
var _local4:b2Mat22;
var _local6:b2ContactConstraint;
var _local7:b2Body;
var _local8:b2Body;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:int;
var _local19:int;
var _local20:b2ContactConstraintPoint;
var _local21:Number;
var _local22:Number;
var _local23:b2ContactConstraintPoint;
var _local5:int;
while (_local5 < m_constraintCount) {
_local6 = m_constraints[_local5];
_local7 = _local6.body1;
_local8 = _local6.body2;
_local9 = _local7.m_invMass;
_local10 = _local7.m_invI;
_local11 = _local8.m_invMass;
_local12 = _local8.m_invI;
_local13 = _local6.normal.x;
_local14 = _local6.normal.y;
_local15 = _local14;
_local16 = -(_local13);
if (_arg1.warmStarting){
_local19 = _local6.pointCount;
_local18 = 0;
while (_local18 < _local19) {
_local20 = _local6.points[_local18];
_local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio);
_local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio);
_local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15));
_local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16));
_local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21))));
_local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21));
_local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22));
_local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21))));
_local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21));
_local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22));
_local18++;
};
} else {
_local19 = _local6.pointCount;
_local18 = 0;
while (_local18 < _local19) {
_local23 = _local6.points[_local18];
_local23.normalImpulse = 0;
_local23.tangentImpulse = 0;
_local18++;
};
};
_local5++;
};
}
public function SolvePositionConstraints(_arg1:Number):Boolean{
var _local3:b2Mat22;
var _local4:b2Vec2;
var _local6:b2ContactConstraint;
var _local7:b2Body;
var _local8:b2Body;
var _local9:b2Vec2;
var _local10:Number;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:int;
var _local20:int;
var _local21:b2ContactConstraintPoint;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:Number;
var _local38:Number;
var _local2:Number = 0;
var _local5:int;
while (_local5 < m_constraintCount) {
_local6 = m_constraints[_local5];
_local7 = _local6.body1;
_local8 = _local6.body2;
_local9 = _local7.m_sweep.c;
_local10 = _local7.m_sweep.a;
_local11 = _local8.m_sweep.c;
_local12 = _local8.m_sweep.a;
_local13 = (_local7.m_mass * _local7.m_invMass);
_local14 = (_local7.m_mass * _local7.m_invI);
_local15 = (_local8.m_mass * _local8.m_invMass);
_local16 = (_local8.m_mass * _local8.m_invI);
_local17 = _local6.normal.x;
_local18 = _local6.normal.y;
_local19 = _local6.pointCount;
_local20 = 0;
while (_local20 < _local19) {
_local21 = _local6.points[_local20];
_local3 = _local7.m_xf.R;
_local4 = _local7.m_sweep.localCenter;
_local22 = (_local21.localAnchor1.x - _local4.x);
_local23 = (_local21.localAnchor1.y - _local4.y);
_local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23));
_local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23));
_local22 = _local26;
_local3 = _local8.m_xf.R;
_local4 = _local8.m_sweep.localCenter;
_local24 = (_local21.localAnchor2.x - _local4.x);
_local25 = (_local21.localAnchor2.y - _local4.y);
_local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25));
_local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25));
_local24 = _local26;
_local27 = (_local9.x + _local22);
_local28 = (_local9.y + _local23);
_local29 = (_local11.x + _local24);
_local30 = (_local11.y + _local25);
_local31 = (_local29 - _local27);
_local32 = (_local30 - _local28);
_local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation);
_local2 = b2Math.b2Min(_local2, _local33);
_local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0));
_local35 = (-(_local21.equalizedMass) * _local34);
_local36 = _local21.positionImpulse;
_local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0);
_local35 = (_local21.positionImpulse - _local36);
_local37 = (_local35 * _local17);
_local38 = (_local35 * _local18);
_local9.x = (_local9.x - (_local13 * _local37));
_local9.y = (_local9.y - (_local13 * _local38));
_local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37))));
_local7.m_sweep.a = _local10;
_local7.SynchronizeTransform();
_local11.x = (_local11.x + (_local15 * _local37));
_local11.y = (_local11.y + (_local15 * _local38));
_local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37))));
_local8.m_sweep.a = _local12;
_local8.SynchronizeTransform();
_local20++;
};
_local5++;
};
return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop)));
}
public function SolveVelocityConstraints():void{
var _local1:int;
var _local2:b2ContactConstraintPoint;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:b2Mat22;
var _local18:b2Vec2;
var _local20:b2ContactConstraint;
var _local21:b2Body;
var _local22:b2Body;
var _local23:Number;
var _local24:Number;
var _local25:b2Vec2;
var _local26:b2Vec2;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:int;
var _local38:Number;
var _local19:int;
while (_local19 < m_constraintCount) {
_local20 = m_constraints[_local19];
_local21 = _local20.body1;
_local22 = _local20.body2;
_local23 = _local21.m_angularVelocity;
_local24 = _local22.m_angularVelocity;
_local25 = _local21.m_linearVelocity;
_local26 = _local22.m_linearVelocity;
_local27 = _local21.m_invMass;
_local28 = _local21.m_invI;
_local29 = _local22.m_invMass;
_local30 = _local22.m_invI;
_local31 = _local20.normal.x;
_local32 = _local20.normal.y;
_local33 = _local32;
_local34 = -(_local31);
_local35 = _local20.friction;
_local37 = _local20.pointCount;
_local1 = 0;
while (_local1 < _local37) {
_local2 = _local20.points[_local1];
_local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y));
_local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x));
_local9 = ((_local7 * _local31) + (_local8 * _local32));
_local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias));
_local10 = ((_local7 * _local33) + (_local8 * _local34));
_local12 = (_local2.tangentMass * -(_local10));
_local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0);
_local11 = (_local13 - _local2.normalImpulse);
_local38 = (_local35 * _local2.normalImpulse);
_local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38);
_local12 = (_local14 - _local2.tangentImpulse);
_local15 = ((_local11 * _local31) + (_local12 * _local33));
_local16 = ((_local11 * _local32) + (_local12 * _local34));
_local25.x = (_local25.x - (_local27 * _local15));
_local25.y = (_local25.y - (_local27 * _local16));
_local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15))));
_local26.x = (_local26.x + (_local29 * _local15));
_local26.y = (_local26.y + (_local29 * _local16));
_local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15))));
_local2.normalImpulse = _local13;
_local2.tangentImpulse = _local14;
_local1++;
};
_local21.m_angularVelocity = _local23;
_local22.m_angularVelocity = _local24;
_local19++;
};
}
public function FinalizeVelocityConstraints():void{
var _local2:b2ContactConstraint;
var _local3:b2Manifold;
var _local4:int;
var _local5:b2ManifoldPoint;
var _local6:b2ContactConstraintPoint;
var _local1:int;
while (_local1 < m_constraintCount) {
_local2 = m_constraints[_local1];
_local3 = _local2.manifold;
_local4 = 0;
while (_local4 < _local2.pointCount) {
_local5 = _local3.points[_local4];
_local6 = _local2.points[_local4];
_local5.normalImpulse = _local6.normalImpulse;
_local5.tangentImpulse = _local6.tangentImpulse;
_local4++;
};
_local1++;
};
}
}
}//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact)
package Box2D.Dynamics.Contacts {
import Box2D.Dynamics.*;
public class b2NullContact extends b2Contact {
override public function Evaluate(_arg1:b2ContactListener):void{
}
override public function GetManifolds():Array{
return (null);
}
}
}//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PolyAndCircleContact extends b2Contact {
private var m_manifolds:Array;
public var m_manifold:b2Manifold;
private var m0:b2Manifold;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){
m_manifolds = [new b2Manifold()];
m0 = new b2Manifold();
super(_arg1, _arg2);
m_manifold = m_manifolds[0];
b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape));
b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape));
m_manifold.pointCount = 0;
var _local3:b2ManifoldPoint = m_manifold.points[0];
_local3.normalImpulse = 0;
_local3.tangentImpulse = 0;
}
override public function Evaluate(_arg1:b2ContactListener):void{
var _local2:int;
var _local3:b2Vec2;
var _local4:b2Vec2;
var _local5:b2ManifoldPoint;
var _local10:b2ManifoldPoint;
var _local11:Boolean;
var _local12:uint;
var _local13:int;
var _local6:b2Body = m_shape1.m_body;
var _local7:b2Body = m_shape2.m_body;
m0.Set(m_manifold);
b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf);
var _local8:Array = [false, false];
var _local9:b2ContactPoint = s_evalCP;
_local9.shape1 = m_shape1;
_local9.shape2 = m_shape2;
_local9.friction = m_friction;
_local9.restitution = m_restitution;
if (m_manifold.pointCount > 0){
_local2 = 0;
while (_local2 < m_manifold.pointCount) {
_local10 = m_manifold.points[_local2];
_local10.normalImpulse = 0;
_local10.tangentImpulse = 0;
_local11 = false;
_local12 = _local10.id._key;
_local13 = 0;
while (_local13 < m0.pointCount) {
if (_local8[_local13] == true){
} else {
_local5 = m0.points[_local13];
if (_local5.id._key == _local12){
_local8[_local13] = true;
_local10.normalImpulse = _local5.normalImpulse;
_local10.tangentImpulse = _local5.tangentImpulse;
_local11 = true;
if (_arg1 != null){
_local9.position = _local6.GetWorldPoint(_local10.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1);
_local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2);
_local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y));
_local9.normal.SetV(m_manifold.normal);
_local9.separation = _local10.separation;
_local9.id.key = _local12;
_arg1.Persist(_local9);
};
break;
};
};
_local13++;
};
if ((((_local11 == false)) && (!((_arg1 == null))))){
_local9.position = _local6.GetWorldPoint(_local10.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1);
_local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2);
_local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y));
_local9.normal.SetV(m_manifold.normal);
_local9.separation = _local10.separation;
_local9.id.key = _local12;
_arg1.Add(_local9);
};
_local2++;
};
m_manifoldCount = 1;
} else {
m_manifoldCount = 0;
};
if (_arg1 == null){
return;
};
_local2 = 0;
while (_local2 < m0.pointCount) {
if (_local8[_local2]){
} else {
_local5 = m0.points[_local2];
_local9.position = _local6.GetWorldPoint(_local5.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1);
_local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2);
_local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y));
_local9.normal.SetV(m0.normal);
_local9.separation = _local5.separation;
_local9.id.key = _local5.id._key;
_arg1.Remove(_local9);
};
_local2++;
};
}
override public function GetManifolds():Array{
return (m_manifolds);
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
return (new b2PolyAndCircleContact(_arg1, _arg2));
}
}
}//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact)
package Box2D.Dynamics.Contacts {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PolygonContact extends b2Contact {
private var m_manifolds:Array;
private var m0:b2Manifold;
public var m_manifold:b2Manifold;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{
m0 = new b2Manifold();
m_manifolds = [new b2Manifold()];
super(_arg1, _arg2);
m_manifold = m_manifolds[0];
m_manifold.pointCount = 0;
}
override public function Evaluate(_arg1:b2ContactListener):void{
var _local2:b2Vec2;
var _local3:b2Vec2;
var _local4:b2ManifoldPoint;
var _local7:b2ContactPoint;
var _local8:int;
var _local10:b2ManifoldPoint;
var _local11:Boolean;
var _local12:uint;
var _local13:int;
var _local5:b2Body = m_shape1.m_body;
var _local6:b2Body = m_shape2.m_body;
m0.Set(m_manifold);
b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf);
var _local9:Array = [false, false];
_local7 = s_evalCP;
_local7.shape1 = m_shape1;
_local7.shape2 = m_shape2;
_local7.friction = m_friction;
_local7.restitution = m_restitution;
if (m_manifold.pointCount > 0){
_local8 = 0;
while (_local8 < m_manifold.pointCount) {
_local10 = m_manifold.points[_local8];
_local10.normalImpulse = 0;
_local10.tangentImpulse = 0;
_local11 = false;
_local12 = _local10.id._key;
_local13 = 0;
while (_local13 < m0.pointCount) {
if (_local9[_local13] == true){
} else {
_local4 = m0.points[_local13];
if (_local4.id._key == _local12){
_local9[_local13] = true;
_local10.normalImpulse = _local4.normalImpulse;
_local10.tangentImpulse = _local4.tangentImpulse;
_local11 = true;
if (_arg1 != null){
_local7.position = _local5.GetWorldPoint(_local10.localPoint1);
_local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2);
_local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local10.separation;
_local7.id.key = _local12;
_arg1.Persist(_local7);
};
break;
};
};
_local13++;
};
if ((((_local11 == false)) && (!((_arg1 == null))))){
_local7.position = _local5.GetWorldPoint(_local10.localPoint1);
_local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2);
_local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local10.separation;
_local7.id.key = _local12;
_arg1.Add(_local7);
};
_local8++;
};
m_manifoldCount = 1;
} else {
m_manifoldCount = 0;
};
if (_arg1 == null){
return;
};
_local8 = 0;
while (_local8 < m0.pointCount) {
if (_local9[_local8]){
} else {
_local4 = m0.points[_local8];
_local7.position = _local5.GetWorldPoint(_local4.localPoint1);
_local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1);
_local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2);
_local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m0.normal);
_local7.separation = _local4.separation;
_local7.id.key = _local4.id._key;
_arg1.Remove(_local7);
};
_local8++;
};
}
override public function GetManifolds():Array{
return (m_manifolds);
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
return (new b2PolygonContact(_arg1, _arg2));
}
}
}//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2DistanceJoint extends b2Joint {
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_bias:Number;
public var m_gamma:Number;
public var m_u:b2Vec2;
public var m_mass:Number;
public var m_impulse:Number;
public var m_dampingRatio:Number;
public var m_frequencyHz:Number;
public var m_length:Number;
public function b2DistanceJoint(_arg1:b2DistanceJointDef){
var _local2:b2Mat22;
var _local3:Number;
var _local4:Number;
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_u = new b2Vec2();
super(_arg1);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_length = _arg1.length;
m_frequencyHz = _arg1.frequencyHz;
m_dampingRatio = _arg1.dampingRatio;
m_impulse = 0;
m_gamma = 0;
m_bias = 0;
m_inv_dt = 0;
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
override public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local2:b2Mat22;
var _local3:Number;
var _local4:b2Body;
var _local5:b2Body;
var _local6:Number;
var _local8:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
m_inv_dt = _arg1.inv_dt;
_local4 = m_body1;
_local5 = m_body2;
_local2 = _local4.m_xf.R;
_local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x);
var _local7:Number = (m_localAnchor1.y - _local4.m_sweep.localCenter.y);
_local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7));
_local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7));
_local6 = _local3;
_local2 = _local5.m_xf.R;
_local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x);
var _local9:Number = (m_localAnchor2.y - _local5.m_sweep.localCenter.y);
_local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9));
_local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9));
_local8 = _local3;
m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6);
m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7);
var _local10:Number = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y)));
if (_local10 > b2Settings.b2_linearSlop){
m_u.Multiply((1 / _local10));
} else {
m_u.SetZero();
};
var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x));
var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x));
var _local13:Number = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12));
m_mass = (1 / _local13);
if (m_frequencyHz > 0){
_local14 = (_local10 - m_length);
_local15 = ((2 * Math.PI) * m_frequencyHz);
_local16 = (((2 * m_mass) * m_dampingRatio) * _local15);
_local17 = ((m_mass * _local15) * _local15);
m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17))));
m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma);
m_mass = (1 / (_local13 + m_gamma));
};
if (_arg1.warmStarting){
m_impulse = (m_impulse * _arg1.dtRatio);
_local18 = (m_impulse * m_u.x);
_local19 = (m_impulse * m_u.y);
_local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18));
_local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19));
_local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18))));
_local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18));
_local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19));
_local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18))));
} else {
m_impulse = 0;
};
}
override public function GetReactionTorque():Number{
return (0);
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Vec2 = new b2Vec2();
_local1.SetV(m_u);
_local1.Multiply((m_inv_dt * m_impulse));
return (_local1);
}
override public function SolvePositionConstraints():Boolean{
var _local1:b2Mat22;
if (m_frequencyHz > 0){
return (true);
};
var _local2:b2Body = m_body1;
var _local3:b2Body = m_body2;
_local1 = _local2.m_xf.R;
var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5));
_local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5));
_local4 = _local6;
_local1 = _local3.m_xf.R;
var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
var _local8:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8));
_local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8));
_local7 = _local6;
var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4);
var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5);
var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10)));
_local9 = (_local9 / _local11);
_local10 = (_local10 / _local11);
var _local12:Number = (_local11 - m_length);
_local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection);
var _local13:Number = (-(m_mass) * _local12);
m_u.Set(_local9, _local10);
var _local14:Number = (_local13 * m_u.x);
var _local15:Number = (_local13 * m_u.y);
_local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15));
_local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14))));
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15));
_local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14))));
_local2.SynchronizeTransform();
_local3.SynchronizeTransform();
return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop));
}
override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
var _local2:b2Mat22;
var _local3:b2Body = m_body1;
var _local4:b2Body = m_body2;
_local2 = _local3.m_xf.R;
var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6));
_local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6));
_local5 = _local7;
_local2 = _local4.m_xf.R;
var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9));
_local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9));
_local8 = _local7;
var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6));
var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5));
var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9));
var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8));
var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11)));
var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse)));
m_impulse = (m_impulse + _local15);
var _local16:Number = (_local15 * m_u.x);
var _local17:Number = (_local15 * m_u.y);
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17));
_local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16))));
_local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16));
_local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17));
_local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16))));
}
}
}//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2DistanceJointDef extends b2JointDef {
public var localAnchor1:b2Vec2;
public var length:Number;
public var dampingRatio:Number;
public var localAnchor2:b2Vec2;
public var frequencyHz:Number;
public function b2DistanceJointDef(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
super();
type = b2Joint.e_distanceJoint;
length = 1;
frequencyHz = 0;
dampingRatio = 0;
}
public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{
body1 = _arg1;
body2 = _arg2;
localAnchor1.SetV(body1.GetLocalPoint(_arg3));
localAnchor2.SetV(body2.GetLocalPoint(_arg4));
var _local5:Number = (_arg4.x - _arg3.x);
var _local6:Number = (_arg4.y - _arg3.y);
length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
frequencyHz = 0;
dampingRatio = 0;
}
}
}//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2GearJoint extends b2Joint {
public var m_ground2:b2Body;
public var m_groundAnchor1:b2Vec2;
public var m_groundAnchor2:b2Vec2;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_ratio:Number;
public var m_revolute2:b2RevoluteJoint;
public var m_force:Number;
public var m_mass:Number;
public var m_prismatic2:b2PrismaticJoint;
public var m_ground1:b2Body;
public var m_revolute1:b2RevoluteJoint;
public var m_prismatic1:b2PrismaticJoint;
public var m_constant:Number;
public var m_J:b2Jacobian;
public function b2GearJoint(_arg1:b2GearJointDef){
var _local4:Number;
var _local5:Number;
m_groundAnchor1 = new b2Vec2();
m_groundAnchor2 = new b2Vec2();
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_J = new b2Jacobian();
super(_arg1);
var _local2:int = _arg1.joint1.m_type;
var _local3:int = _arg1.joint2.m_type;
m_revolute1 = null;
m_prismatic1 = null;
m_revolute2 = null;
m_prismatic2 = null;
m_ground1 = _arg1.joint1.m_body1;
m_body1 = _arg1.joint1.m_body2;
if (_local2 == b2Joint.e_revoluteJoint){
m_revolute1 = (_arg1.joint1 as b2RevoluteJoint);
m_groundAnchor1.SetV(m_revolute1.m_localAnchor1);
m_localAnchor1.SetV(m_revolute1.m_localAnchor2);
_local4 = m_revolute1.GetJointAngle();
} else {
m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint);
m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1);
m_localAnchor1.SetV(m_prismatic1.m_localAnchor2);
_local4 = m_prismatic1.GetJointTranslation();
};
m_ground2 = _arg1.joint2.m_body1;
m_body2 = _arg1.joint2.m_body2;
if (_local3 == b2Joint.e_revoluteJoint){
m_revolute2 = (_arg1.joint2 as b2RevoluteJoint);
m_groundAnchor2.SetV(m_revolute2.m_localAnchor1);
m_localAnchor2.SetV(m_revolute2.m_localAnchor2);
_local5 = m_revolute2.GetJointAngle();
} else {
m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint);
m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1);
m_localAnchor2.SetV(m_prismatic2.m_localAnchor2);
_local5 = m_prismatic2.GetJointTranslation();
};
m_ratio = _arg1.ratio;
m_constant = (_local4 + (m_ratio * _local5));
m_force = 0;
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
override public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:b2Mat22;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local15:Number;
var _local2:b2Body = m_ground1;
var _local3:b2Body = m_ground2;
var _local4:b2Body = m_body1;
var _local5:b2Body = m_body2;
var _local14:Number = 0;
m_J.SetZero();
if (m_revolute1){
m_J.angular1 = -1;
_local14 = (_local14 + _local4.m_invI);
} else {
_local10 = _local2.m_xf.R;
_local11 = m_prismatic1.m_localXAxis1;
_local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y));
_local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y));
_local10 = _local4.m_xf.R;
_local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x);
_local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y);
_local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9));
_local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9));
_local8 = _local13;
_local12 = ((_local8 * _local7) - (_local9 * _local6));
m_J.linear1.Set(-(_local6), -(_local7));
m_J.angular1 = -(_local12);
_local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12)));
};
if (m_revolute2){
m_J.angular2 = -(m_ratio);
_local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI));
} else {
_local10 = _local3.m_xf.R;
_local11 = m_prismatic2.m_localXAxis1;
_local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y));
_local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y));
_local10 = _local5.m_xf.R;
_local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y);
_local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9));
_local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9));
_local8 = _local13;
_local12 = ((_local8 * _local7) - (_local9 * _local6));
m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7));
m_J.angular2 = (-(m_ratio) * _local12);
_local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12))));
};
m_mass = (1 / _local14);
if (_arg1.warmStarting){
_local15 = (_arg1.dt * m_force);
_local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x));
_local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y));
_local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1));
_local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x));
_local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y));
_local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2));
} else {
m_force = 0;
};
}
override public function GetReactionTorque():Number{
var _local1:b2Mat22 = m_body2.m_xf.R;
var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x);
var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y);
var _local4:Number = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3));
_local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3));
_local2 = _local4;
_local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x))));
return (_local4);
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y));
return (_local1);
}
override public function SolvePositionConstraints():Boolean{
var _local4:Number;
var _local5:Number;
var _local1:Number = 0;
var _local2:b2Body = m_body1;
var _local3:b2Body = m_body2;
if (m_revolute1){
_local4 = m_revolute1.GetJointAngle();
} else {
_local4 = m_prismatic1.GetJointTranslation();
};
if (m_revolute2){
_local5 = m_revolute2.GetJointAngle();
} else {
_local5 = m_prismatic2.GetJointTranslation();
};
var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5)));
var _local7:Number = (-(m_mass) * _local6);
_local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y));
_local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1));
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y));
_local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2));
_local2.SynchronizeTransform();
_local3.SynchronizeTransform();
return ((_local1 < b2Settings.b2_linearSlop));
}
public function GetRatio():Number{
return (m_ratio);
}
override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
var _local2:b2Body = m_body1;
var _local3:b2Body = m_body2;
var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity);
var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4);
m_force = (m_force + _local5);
var _local6:Number = (_arg1.dt * _local5);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2));
}
}
}//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef)
package Box2D.Dynamics.Joints {
public class b2GearJointDef extends b2JointDef {
public var joint1:b2Joint;
public var joint2:b2Joint;
public var ratio:Number;
public function b2GearJointDef(){
type = b2Joint.e_gearJoint;
joint1 = null;
joint2 = null;
ratio = 1;
}
}
}//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
public class b2Jacobian {
public var linear1:b2Vec2;
public var linear2:b2Vec2;
public var angular1:Number;
public var angular2:Number;
public function b2Jacobian(){
linear1 = new b2Vec2();
linear2 = new b2Vec2();
super();
}
public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{
linear1.SetV(_arg1);
angular1 = _arg2;
linear2.SetV(_arg3);
angular2 = _arg4;
}
public function SetZero():void{
linear1.SetZero();
angular1 = 0;
linear2.SetZero();
angular2 = 0;
}
public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{
return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4)));
}
}
}//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2Joint {
public var m_islandFlag:Boolean;
public var m_body1:b2Body;
public var m_prev:b2Joint;
public var m_next:b2Joint;
public var m_type:int;
public var m_collideConnected:Boolean;
public var m_node1:b2JointEdge;
public var m_node2:b2JointEdge;
public var m_inv_dt:Number;
public var m_userData;
public var m_body2:b2Body;
public static const e_unknownJoint:int = 0;
public static const e_inactiveLimit:int = 0;
public static const e_atUpperLimit:int = 2;
public static const e_atLowerLimit:int = 1;
public static const e_gearJoint:int = 6;
public static const e_revoluteJoint:int = 1;
public static const e_equalLimits:int = 3;
public static const e_distanceJoint:int = 3;
public static const e_pulleyJoint:int = 4;
public static const e_prismaticJoint:int = 2;
public static const e_mouseJoint:int = 5;
public function b2Joint(_arg1:b2JointDef){
m_node1 = new b2JointEdge();
m_node2 = new b2JointEdge();
super();
m_type = _arg1.type;
m_prev = null;
m_next = null;
m_body1 = _arg1.body1;
m_body2 = _arg1.body2;
m_collideConnected = _arg1.collideConnected;
m_islandFlag = false;
m_userData = _arg1.userData;
}
public function GetBody2():b2Body{
return (m_body2);
}
public function GetAnchor1():b2Vec2{
return (null);
}
public function GetAnchor2():b2Vec2{
return (null);
}
public function GetNext():b2Joint{
return (m_next);
}
public function GetType():int{
return (m_type);
}
public function InitVelocityConstraints(_arg1:b2TimeStep):void{
}
public function GetReactionTorque():Number{
return (0);
}
public function GetUserData(){
return (m_userData);
}
public function GetReactionForce():b2Vec2{
return (null);
}
public function SolvePositionConstraints():Boolean{
return (false);
}
public function SetUserData(_arg1):void{
m_userData = _arg1;
}
public function GetBody1():b2Body{
return (m_body1);
}
public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
}
public function InitPositionConstraints():void{
}
public static function Destroy(_arg1:b2Joint, _arg2):void{
}
public static function Create(_arg1:b2JointDef, _arg2):b2Joint{
var _local3:b2Joint;
switch (_arg1.type){
case e_distanceJoint:
_local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef));
break;
case e_mouseJoint:
_local3 = new b2MouseJoint((_arg1 as b2MouseJointDef));
break;
case e_prismaticJoint:
_local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef));
break;
case e_revoluteJoint:
_local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef));
break;
case e_pulleyJoint:
_local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef));
break;
case e_gearJoint:
_local3 = new b2GearJoint((_arg1 as b2GearJointDef));
break;
default:
break;
};
return (_local3);
}
}
}//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef)
package Box2D.Dynamics.Joints {
import Box2D.Dynamics.*;
public class b2JointDef {
public var body2:b2Body;
public var type:int;
public var userData;
public var collideConnected:Boolean;
public var body1:b2Body;
public function b2JointDef(){
type = b2Joint.e_unknownJoint;
userData = null;
body1 = null;
body2 = null;
collideConnected = false;
}
}
}//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge)
package Box2D.Dynamics.Joints {
import Box2D.Dynamics.*;
public class b2JointEdge {
public var other:b2Body;
public var next:b2JointEdge;
public var prev:b2JointEdge;
public var joint:b2Joint;
}
}//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2MouseJoint extends b2Joint {
private var K1:b2Mat22;
private var K:b2Mat22;
public var m_beta:Number;
public var m_mass:b2Mat22;
private var K2:b2Mat22;
public var m_target:b2Vec2;
public var m_gamma:Number;
public var m_impulse:b2Vec2;
public var m_C:b2Vec2;
public var m_localAnchor:b2Vec2;
public var m_maxForce:Number;
public function b2MouseJoint(_arg1:b2MouseJointDef){
var _local3:Number;
K = new b2Mat22();
K1 = new b2Mat22();
K2 = new b2Mat22();
m_localAnchor = new b2Vec2();
m_target = new b2Vec2();
m_impulse = new b2Vec2();
m_mass = new b2Mat22();
m_C = new b2Vec2();
super(_arg1);
m_target.SetV(_arg1.target);
var _local2:Number = (m_target.x - m_body2.m_xf.position.x);
_local3 = (m_target.y - m_body2.m_xf.position.y);
var _local4:b2Mat22 = m_body2.m_xf.R;
m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y));
m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y));
m_maxForce = _arg1.maxForce;
m_impulse.SetZero();
var _local5:Number = m_body2.m_mass;
var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz);
var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6);
var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6));
m_gamma = (1 / (_local7 + _local8));
m_beta = (_local8 / (_local7 + _local8));
}
public function SetTarget(_arg1:b2Vec2):void{
if (m_body2.IsSleeping()){
m_body2.WakeUp();
};
m_target = _arg1;
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor));
}
override public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local2:b2Body;
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
var _local7:Number;
var _local8:Number;
_local2 = m_body2;
_local3 = _local2.m_xf.R;
_local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x);
_local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y);
var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5));
_local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5));
_local4 = _local6;
_local7 = _local2.m_invMass;
_local8 = _local2.m_invI;
K1.col1.x = _local7;
K1.col2.x = 0;
K1.col1.y = 0;
K1.col2.y = _local7;
K2.col1.x = ((_local8 * _local5) * _local5);
K2.col2.x = ((-(_local8) * _local4) * _local5);
K2.col1.y = ((-(_local8) * _local4) * _local5);
K2.col2.y = ((_local8 * _local4) * _local4);
K.SetM(K1);
K.AddM(K2);
K.col1.x = (K.col1.x + m_gamma);
K.col2.y = (K.col2.y + m_gamma);
K.Invert(m_mass);
m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x);
m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y);
_local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98);
var _local9:Number = (_arg1.dt * m_impulse.x);
var _local10:Number = (_arg1.dt * m_impulse.y);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9))));
}
override public function GetAnchor1():b2Vec2{
return (m_target);
}
override public function GetReactionTorque():Number{
return (0);
}
override public function GetReactionForce():b2Vec2{
return (m_impulse);
}
override public function SolvePositionConstraints():Boolean{
return (true);
}
override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
var _local2:b2Body = m_body2;
_local3 = _local2.m_xf.R;
var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x);
var _local7:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y);
_local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7));
_local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7));
_local6 = _local4;
var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7));
var _local9:Number = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6));
_local3 = m_mass;
_local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x));
_local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y));
var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)));
var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)));
var _local12:Number = m_impulse.x;
var _local13:Number = m_impulse.y;
m_impulse.x = (m_impulse.x + _local10);
m_impulse.y = (m_impulse.y + _local11);
var _local14:Number = m_impulse.Length();
if (_local14 > m_maxForce){
m_impulse.Multiply((m_maxForce / _local14));
};
_local10 = (m_impulse.x - _local12);
_local11 = (m_impulse.y - _local13);
var _local15:Number = (_arg1.dt * _local10);
var _local16:Number = (_arg1.dt * _local11);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15))));
}
}
}//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
public class b2MouseJointDef extends b2JointDef {
public var timeStep:Number;
public var target:b2Vec2;
public var maxForce:Number;
public var dampingRatio:Number;
public var frequencyHz:Number;
public function b2MouseJointDef(){
target = new b2Vec2();
super();
type = b2Joint.e_mouseJoint;
maxForce = 0;
frequencyHz = 5;
dampingRatio = 0.7;
timeStep = (1 / 60);
}
}
}//package Box2D.Dynamics.Joints
Section 58
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PrismaticJoint extends b2Joint {
public var m_limitForce:Number;
public var m_lowerTranslation:Number;
public var m_localXAxis1:b2Vec2;
public var m_refAngle:Number;
public var m_torque:Number;
public var m_motorForce:Number;
public var m_enableLimit:Boolean;
public var m_angularMass:Number;
public var m_maxMotorForce:Number;
public var m_localYAxis1:b2Vec2;
public var m_force:Number;
public var m_motorMass:Number;
public var m_upperTranslation:Number;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_limitState:int;
public var m_linearMass:Number;
public var m_motorJacobian:b2Jacobian;
public var m_limitPositionImpulse:Number;
public var m_motorSpeed:Number;
public var m_enableMotor:Boolean;
public var m_linearJacobian:b2Jacobian;
public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){
var _local2:b2Mat22;
var _local3:Number;
var _local4:Number;
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_localXAxis1 = new b2Vec2();
m_localYAxis1 = new b2Vec2();
m_linearJacobian = new b2Jacobian();
m_motorJacobian = new b2Jacobian();
super(_arg1);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_localXAxis1.SetV(_arg1.localAxis1);
m_localYAxis1.x = -(m_localXAxis1.y);
m_localYAxis1.y = m_localXAxis1.x;
m_refAngle = _arg1.referenceAngle;
m_linearJacobian.SetZero();
m_linearMass = 0;
m_force = 0;
m_angularMass = 0;
m_torque = 0;
m_motorJacobian.SetZero();
m_motorMass = 0;
m_motorForce = 0;
m_limitForce = 0;
m_limitPositionImpulse = 0;
m_lowerTranslation = _arg1.lowerTranslation;
m_upperTranslation = _arg1.upperTranslation;
m_maxMotorForce = _arg1.maxMotorForce;
m_motorSpeed = _arg1.motorSpeed;
m_enableLimit = _arg1.enableLimit;
m_enableMotor = _arg1.enableMotor;
}
override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
var _local8:Number;
var _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);
var _local11:Number = (_arg1.dt * _local10);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2));
var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity);
var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12);
m_torque = (m_torque + _local13);
var _local14:Number = (_arg1.dt * _local13);
_local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14));
if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){
_local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed);
_local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15);
_local17 = m_motorForce;
m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce);
_local16 = (m_motorForce - _local17);
_local11 = (_arg1.dt * _local16);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2));
};
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity);
_local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18);
if (m_limitState == e_equalLimits){
m_limitForce = (m_limitForce + _local19);
} else {
if (m_limitState == e_atLowerLimit){
_local8 = m_limitForce;
m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0);
_local19 = (m_limitForce - _local8);
} else {
if (m_limitState == e_atUpperLimit){
_local8 = m_limitForce;
m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0);
_local19 = (m_limitForce - _local8);
};
};
};
_local11 = (_arg1.dt * _local19);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2));
};
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
public function GetUpperLimit():Number{
return (m_upperTranslation);
}
public function GetLowerLimit():Number{
return (m_lowerTranslation);
}
public function EnableMotor(_arg1:Boolean):void{
m_enableMotor = _arg1;
}
public function GetJointTranslation():Number{
var _local3:b2Mat22;
var _local1:b2Body = m_body1;
var _local2:b2Body = m_body2;
var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1);
var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2);
var _local6:Number = (_local5.x - _local4.x);
var _local7:Number = (_local5.y - _local4.y);
var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1);
var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7));
return (_local9);
}
public function GetMotorSpeed():Number{
return (m_motorSpeed);
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Mat22 = m_body1.m_xf.R;
var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y)));
var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y)));
var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y)));
var _local5:Number = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y)));
return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5))));
}
override public function SolvePositionConstraints():Boolean{
var _local1:Number;
var _local2:Number;
var _local9:b2Mat22;
var _local10:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local3:b2Body = m_body1;
var _local4:b2Body = m_body2;
var _local5:Number = _local3.m_invMass;
var _local6:Number = _local4.m_invMass;
var _local7:Number = _local3.m_invI;
var _local8:Number = _local4.m_invI;
_local9 = _local3.m_xf.R;
var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
var _local12:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12));
_local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12));
_local11 = _local10;
_local9 = _local4.m_xf.R;
var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
var _local14:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14));
_local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14));
_local13 = _local10;
var _local15:Number = (_local3.m_sweep.c.x + _local11);
var _local16:Number = (_local3.m_sweep.c.y + _local12);
var _local17:Number = (_local4.m_sweep.c.x + _local13);
var _local18:Number = (_local4.m_sweep.c.y + _local14);
var _local19:Number = (_local17 - _local15);
var _local20:Number = (_local18 - _local16);
_local9 = _local3.m_xf.R;
var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y));
var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y));
var _local23:Number = ((_local21 * _local19) + (_local22 * _local20));
_local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection);
var _local24:Number = (-(m_linearMass) * _local23);
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y));
_local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1));
_local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x));
_local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y));
_local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2));
var _local25:Number = b2Math.b2Abs(_local23);
var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle);
_local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection);
var _local27:Number = (-(m_angularMass) * _local26);
_local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27));
_local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27));
_local3.SynchronizeTransform();
_local4.SynchronizeTransform();
var _local28:Number = b2Math.b2Abs(_local26);
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local9 = _local3.m_xf.R;
_local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
_local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12));
_local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12));
_local11 = _local10;
_local9 = _local4.m_xf.R;
_local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
_local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14));
_local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14));
_local13 = _local10;
_local15 = (_local3.m_sweep.c.x + _local11);
_local16 = (_local3.m_sweep.c.y + _local12);
_local17 = (_local4.m_sweep.c.x + _local13);
_local18 = (_local4.m_sweep.c.y + _local14);
_local19 = (_local17 - _local15);
_local20 = (_local18 - _local16);
_local9 = _local3.m_xf.R;
_local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y));
_local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y));
_local31 = ((_local29 * _local19) + (_local30 * _local20));
_local32 = 0;
if (m_limitState == e_equalLimits){
_local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection);
_local32 = (-(m_motorMass) * _local1);
_local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26));
} else {
if (m_limitState == e_atLowerLimit){
_local1 = (_local31 - m_lowerTranslation);
_local25 = b2Math.b2Max(_local25, -(_local1));
_local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local32 = (-(m_motorMass) * _local1);
_local2 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0);
_local32 = (m_limitPositionImpulse - _local2);
} else {
if (m_limitState == e_atUpperLimit){
_local1 = (_local31 - m_upperTranslation);
_local25 = b2Math.b2Max(_local25, _local1);
_local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection);
_local32 = (-(m_motorMass) * _local1);
_local2 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0);
_local32 = (m_limitPositionImpulse - _local2);
};
};
};
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y));
_local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1));
_local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x));
_local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y));
_local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2));
_local3.SynchronizeTransform();
_local4.SynchronizeTransform();
};
return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop))));
}
public function SetMotorSpeed(_arg1:Number):void{
m_motorSpeed = _arg1;
}
public function GetJointSpeed():Number{
var _local3:b2Mat22;
var _local1:b2Body = m_body1;
var _local2:b2Body = m_body2;
_local3 = _local1.m_xf.R;
var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x);
var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y);
var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5));
_local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5));
_local4 = _local6;
_local3 = _local2.m_xf.R;
var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x);
var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y);
_local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8));
_local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8));
_local7 = _local6;
var _local9:Number = (_local1.m_sweep.c.x + _local4);
var _local10:Number = (_local1.m_sweep.c.y + _local5);
var _local11:Number = (_local2.m_sweep.c.x + _local7);
var _local12:Number = (_local2.m_sweep.c.y + _local8);
var _local13:Number = (_local11 - _local9);
var _local14:Number = (_local12 - _local10);
var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1);
var _local16:b2Vec2 = _local1.m_linearVelocity;
var _local17:b2Vec2 = _local2.m_linearVelocity;
var _local18:Number = _local1.m_angularVelocity;
var _local19:Number = _local2.m_angularVelocity;
var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4)))));
return (_local20);
}
override public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local4:b2Mat22;
var _local5:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local2:b2Body = m_body1;
var _local3:b2Body = m_body2;
_local4 = _local2.m_xf.R;
var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7));
_local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7));
_local6 = _local5;
_local4 = _local3.m_xf.R;
var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local5;
var _local10:Number = _local2.m_invMass;
var _local11:Number = _local3.m_invMass;
var _local12:Number = _local2.m_invI;
var _local13:Number = _local3.m_invI;
_local4 = _local2.m_xf.R;
var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y));
var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y));
var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x);
var _local17:Number = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y);
m_linearJacobian.linear1.x = -(_local14);
m_linearJacobian.linear1.y = -(_local15);
m_linearJacobian.linear2.x = _local14;
m_linearJacobian.linear2.y = _local15;
m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14)));
m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14));
m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2));
m_linearMass = (1 / m_linearMass);
m_angularMass = (_local12 + _local13);
if (m_angularMass > Number.MIN_VALUE){
m_angularMass = (1 / m_angularMass);
};
if (((m_enableLimit) || (m_enableMotor))){
_local4 = _local2.m_xf.R;
_local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y));
_local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y));
m_motorJacobian.linear1.x = -(_local18);
m_motorJacobian.linear1.y = -(_local19);
m_motorJacobian.linear2.x = _local18;
m_motorJacobian.linear2.y = _local19;
m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18)));
m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18));
m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2));
m_motorMass = (1 / m_motorMass);
if (m_enableLimit){
_local20 = (_local16 - _local6);
_local21 = (_local17 - _local7);
_local22 = ((_local18 * _local20) + (_local19 * _local21));
if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){
m_limitState = e_equalLimits;
} else {
if (_local22 <= m_lowerTranslation){
if (m_limitState != e_atLowerLimit){
m_limitForce = 0;
};
m_limitState = e_atLowerLimit;
} else {
if (_local22 >= m_upperTranslation){
if (m_limitState != e_atUpperLimit){
m_limitForce = 0;
};
m_limitState = e_atUpperLimit;
} else {
m_limitState = e_inactiveLimit;
m_limitForce = 0;
};
};
};
};
};
if (m_enableMotor == false){
m_motorForce = 0;
};
if (m_enableLimit == false){
m_limitForce = 0;
};
if (_arg1.warmStarting){
_local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x)));
_local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y)));
_local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x)));
_local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y)));
_local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1)));
_local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2)));
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28));
} else {
m_force = 0;
m_torque = 0;
m_limitForce = 0;
m_motorForce = 0;
};
m_limitPositionImpulse = 0;
}
public function GetMotorForce():Number{
return (m_motorForce);
}
public function EnableLimit(_arg1:Boolean):void{
m_enableLimit = _arg1;
}
public function SetMaxMotorForce(_arg1:Number):void{
m_maxMotorForce = _arg1;
}
override public function GetReactionTorque():Number{
return (m_torque);
}
public function IsLimitEnabled():Boolean{
return (m_enableLimit);
}
public function IsMotorEnabled():Boolean{
return (m_enableMotor);
}
public function SetLimits(_arg1:Number, _arg2:Number):void{
m_lowerTranslation = _arg1;
m_upperTranslation = _arg2;
}
}
}//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2PrismaticJointDef extends b2JointDef {
public var motorSpeed:Number;
public var localAxis1:b2Vec2;
public var referenceAngle:Number;
public var upperTranslation:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var enableLimit:Boolean;
public var enableMotor:Boolean;
public var maxMotorForce:Number;
public var lowerTranslation:Number;
public function b2PrismaticJointDef(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
localAxis1 = new b2Vec2();
super();
type = b2Joint.e_prismaticJoint;
localAxis1.Set(1, 0);
referenceAngle = 0;
enableLimit = false;
lowerTranslation = 0;
upperTranslation = 0;
enableMotor = false;
maxMotorForce = 0;
motorSpeed = 0;
}
public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{
body1 = _arg1;
body2 = _arg2;
localAnchor1 = body1.GetLocalPoint(_arg3);
localAnchor2 = body2.GetLocalPoint(_arg3);
localAxis1 = body1.GetLocalVector(_arg4);
referenceAngle = (body2.GetAngle() - body1.GetAngle());
}
}
}//package Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PulleyJoint extends b2Joint {
public var m_limitState1:int;
public var m_limitState2:int;
public var m_ground:b2Body;
public var m_maxLength2:Number;
public var m_maxLength1:Number;
public var m_limitPositionImpulse1:Number;
public var m_limitPositionImpulse2:Number;
public var m_force:Number;
public var m_constant:Number;
public var m_positionImpulse:Number;
public var m_state:int;
public var m_ratio:Number;
public var m_groundAnchor1:b2Vec2;
public var m_groundAnchor2:b2Vec2;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_limitMass1:Number;
public var m_limitMass2:Number;
public var m_pulleyMass:Number;
public var m_u1:b2Vec2;
public var m_limitForce1:Number;
public var m_limitForce2:Number;
public var m_u2:b2Vec2;
public static const b2_minPulleyLength:Number = 2;
public function b2PulleyJoint(_arg1:b2PulleyJointDef){
var _local2:b2Mat22;
var _local3:Number;
var _local4:Number;
m_groundAnchor1 = new b2Vec2();
m_groundAnchor2 = new b2Vec2();
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_u1 = new b2Vec2();
m_u2 = new b2Vec2();
super(_arg1);
m_ground = m_body1.m_world.m_groundBody;
m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x);
m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y);
m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x);
m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_ratio = _arg1.ratio;
m_constant = (_arg1.length1 + (m_ratio * _arg1.length2));
m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength)));
m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio));
m_force = 0;
m_limitForce1 = 0;
m_limitForce2 = 0;
}
public function GetGroundAnchor2():b2Vec2{
var _local1:b2Vec2 = m_ground.m_xf.position.Copy();
_local1.Add(m_groundAnchor2);
return (_local1);
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Vec2 = m_u2.Copy();
_local1.Multiply(m_force);
return (_local1);
}
override public function SolvePositionConstraints():Boolean{
var _local3:b2Mat22;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local1:b2Body = m_body1;
var _local2:b2Body = m_body2;
var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x);
var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y);
var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x);
var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y);
var _local23:Number = 0;
if (m_state == e_atUpperLimit){
_local3 = _local1.m_xf.R;
_local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x);
_local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9));
_local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9));
_local8 = _local22;
_local3 = _local2.m_xf.R;
_local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x);
_local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11));
_local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11));
_local10 = _local22;
_local12 = (_local1.m_sweep.c.x + _local8);
_local13 = (_local1.m_sweep.c.y + _local9);
_local14 = (_local2.m_sweep.c.x + _local10);
_local15 = (_local2.m_sweep.c.y + _local11);
m_u1.Set((_local12 - _local4), (_local13 - _local5));
m_u2.Set((_local14 - _local6), (_local15 - _local7));
_local16 = m_u1.Length();
_local17 = m_u2.Length();
if (_local16 > b2Settings.b2_linearSlop){
m_u1.Multiply((1 / _local16));
} else {
m_u1.SetZero();
};
if (_local17 > b2Settings.b2_linearSlop){
m_u2.Multiply((1 / _local17));
} else {
m_u2.SetZero();
};
_local18 = ((m_constant - _local16) - (m_ratio * _local17));
_local23 = b2Math.b2Max(_local23, -(_local18));
_local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local19 = (-(m_pulleyMass) * _local18);
_local20 = m_positionImpulse;
m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19));
_local19 = (m_positionImpulse - _local20);
_local12 = (-(_local19) * m_u1.x);
_local13 = (-(_local19) * m_u1.y);
_local14 = ((-(m_ratio) * _local19) * m_u2.x);
_local15 = ((-(m_ratio) * _local19) * m_u2.y);
_local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12));
_local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13));
_local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12))));
_local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15));
_local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14))));
_local1.SynchronizeTransform();
_local2.SynchronizeTransform();
};
if (m_limitState1 == e_atUpperLimit){
_local3 = _local1.m_xf.R;
_local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x);
_local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9));
_local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9));
_local8 = _local22;
_local12 = (_local1.m_sweep.c.x + _local8);
_local13 = (_local1.m_sweep.c.y + _local9);
m_u1.Set((_local12 - _local4), (_local13 - _local5));
_local16 = m_u1.Length();
if (_local16 > b2Settings.b2_linearSlop){
m_u1.x = (m_u1.x * (1 / _local16));
m_u1.y = (m_u1.y * (1 / _local16));
} else {
m_u1.SetZero();
};
_local18 = (m_maxLength1 - _local16);
_local23 = b2Math.b2Max(_local23, -(_local18));
_local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local19 = (-(m_limitMass1) * _local18);
_local21 = m_limitPositionImpulse1;
m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19));
_local19 = (m_limitPositionImpulse1 - _local21);
_local12 = (-(_local19) * m_u1.x);
_local13 = (-(_local19) * m_u1.y);
_local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12));
_local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13));
_local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12))));
_local1.SynchronizeTransform();
};
if (m_limitState2 == e_atUpperLimit){
_local3 = _local2.m_xf.R;
_local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x);
_local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11));
_local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11));
_local10 = _local22;
_local14 = (_local2.m_sweep.c.x + _local10);
_local15 = (_local2.m_sweep.c.y + _local11);
m_u2.Set((_local14 - _local6), (_local15 - _local7));
_local17 = m_u2.Length();
if (_local17 > b2Settings.b2_linearSlop){
m_u2.x = (m_u2.x * (1 / _local17));
m_u2.y = (m_u2.y * (1 / _local17));
} else {
m_u2.SetZero();
};
_local18 = (m_maxLength2 - _local17);
_local23 = b2Math.b2Max(_local23, -(_local18));
_local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local19 = (-(m_limitMass2) * _local18);
_local21 = m_limitPositionImpulse2;
m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19));
_local19 = (m_limitPositionImpulse2 - _local21);
_local14 = (-(_local19) * m_u2.x);
_local15 = (-(_local19) * m_u2.y);
_local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15));
_local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14))));
_local2.SynchronizeTransform();
};
return ((_local23 < b2Settings.b2_linearSlop));
}
override public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local4:b2Mat22;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local2:b2Body = m_body1;
var _local3:b2Body = m_body2;
_local4 = _local2.m_xf.R;
var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6));
_local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6));
_local5 = _local7;
_local4 = _local3.m_xf.R;
var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local7;
var _local10:Number = (_local2.m_sweep.c.x + _local5);
var _local11:Number = (_local2.m_sweep.c.y + _local6);
var _local12:Number = (_local3.m_sweep.c.x + _local8);
var _local13:Number = (_local3.m_sweep.c.y + _local9);
var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x);
var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y);
var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x);
var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y);
m_u1.Set((_local10 - _local14), (_local11 - _local15));
m_u2.Set((_local12 - _local16), (_local13 - _local17));
var _local18:Number = m_u1.Length();
var _local19:Number = m_u2.Length();
if (_local18 > b2Settings.b2_linearSlop){
m_u1.Multiply((1 / _local18));
} else {
m_u1.SetZero();
};
if (_local19 > b2Settings.b2_linearSlop){
m_u2.Multiply((1 / _local19));
} else {
m_u2.SetZero();
};
var _local20:Number = ((m_constant - _local18) - (m_ratio * _local19));
if (_local20 > 0){
m_state = e_inactiveLimit;
m_force = 0;
} else {
m_state = e_atUpperLimit;
m_positionImpulse = 0;
};
if (_local18 < m_maxLength1){
m_limitState1 = e_inactiveLimit;
m_limitForce1 = 0;
} else {
m_limitState1 = e_atUpperLimit;
m_limitPositionImpulse1 = 0;
};
if (_local19 < m_maxLength2){
m_limitState2 = e_inactiveLimit;
m_limitForce2 = 0;
} else {
m_limitState2 = e_atUpperLimit;
m_limitPositionImpulse2 = 0;
};
var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x));
var _local22:Number = ((_local8 * m_u2.y) - (_local9 * m_u2.x));
m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21));
m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22));
m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2));
m_limitMass1 = (1 / m_limitMass1);
m_limitMass2 = (1 / m_limitMass2);
m_pulleyMass = (1 / m_pulleyMass);
if (_arg1.warmStarting){
_local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x);
_local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y);
_local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x);
_local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23))));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25))));
} else {
m_force = 0;
m_limitForce1 = 0;
m_limitForce2 = 0;
};
}
override public function GetReactionTorque():Number{
return (0);
}
public function GetRatio():Number{
return (m_ratio);
}
override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
var _local4:b2Mat22;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local2:b2Body = m_body1;
var _local3:b2Body = m_body2;
_local4 = _local2.m_xf.R;
var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6));
_local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6));
_local5 = _local7;
_local4 = _local3.m_xf.R;
var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local7;
if (m_state == e_atUpperLimit){
_local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6));
_local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5));
_local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9));
_local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8));
_local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13))));
_local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18);
_local20 = m_force;
m_force = b2Math.b2Max(0, (m_force + _local19));
_local19 = (m_force - _local20);
_local14 = ((-(_arg1.dt) * _local19) * m_u1.x);
_local15 = ((-(_arg1.dt) * _local19) * m_u1.y);
_local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x);
_local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14))));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16))));
};
if (m_limitState1 == e_atUpperLimit){
_local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6));
_local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5));
_local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11)));
_local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18);
_local20 = m_limitForce1;
m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19));
_local19 = (m_limitForce1 - _local20);
_local14 = ((-(_arg1.dt) * _local19) * m_u1.x);
_local15 = ((-(_arg1.dt) * _local19) * m_u1.y);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14))));
};
if (m_limitState2 == e_atUpperLimit){
_local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9));
_local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8));
_local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13)));
_local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18);
_local20 = m_limitForce2;
m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19));
_local19 = (m_limitForce2 - _local20);
_local16 = ((-(_arg1.dt) * _local19) * m_u2.x);
_local17 = ((-(_arg1.dt) * _local19) * m_u2.y);
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16))));
};
}
public function GetLength1():Number{
var _local1:b2Vec2 = m_body1.GetWorldPoint(m_localAnchor1);
var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x);
var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y);
var _local4:Number = (_local1.x - _local2);
var _local5:Number = (_local1.y - _local3);
return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5))));
}
public function GetLength2():Number{
var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2);
var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x);
var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y);
var _local4:Number = (_local1.x - _local2);
var _local5:Number = (_local1.y - _local3);
return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5))));
}
public function GetGroundAnchor1():b2Vec2{
var _local1:b2Vec2 = m_ground.m_xf.position.Copy();
_local1.Add(m_groundAnchor1);
return (_local1);
}
}
}//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2PulleyJointDef extends b2JointDef {
public var maxLength1:Number;
public var maxLength2:Number;
public var length1:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var groundAnchor1:b2Vec2;
public var groundAnchor2:b2Vec2;
public var ratio:Number;
public var length2:Number;
public function b2PulleyJointDef(){
groundAnchor1 = new b2Vec2();
groundAnchor2 = new b2Vec2();
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
super();
type = b2Joint.e_pulleyJoint;
groundAnchor1.Set(-1, 1);
groundAnchor2.Set(1, 1);
localAnchor1.Set(-1, 0);
localAnchor2.Set(1, 0);
length1 = 0;
maxLength1 = 0;
length2 = 0;
maxLength2 = 0;
ratio = 1;
collideConnected = true;
}
public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{
body1 = _arg1;
body2 = _arg2;
groundAnchor1.SetV(_arg3);
groundAnchor2.SetV(_arg4);
localAnchor1 = body1.GetLocalPoint(_arg5);
localAnchor2 = body2.GetLocalPoint(_arg6);
var _local8:Number = (_arg5.x - _arg3.x);
var _local9:Number = (_arg5.y - _arg3.y);
length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
var _local10:Number = (_arg6.x - _arg4.x);
var _local11:Number = (_arg6.y - _arg4.y);
length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11)));
ratio = _arg7;
var _local12:Number = (length1 + (ratio * length2));
maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength));
maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio);
}
}
}//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2RevoluteJoint extends b2Joint {
public var m_limitForce:Number;
public var m_pivotMass:b2Mat22;
public var m_motorForce:Number;
public var m_enableLimit:Boolean;
public var m_limitState:int;
public var m_motorMass:Number;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
private var K1:b2Mat22;
private var K2:b2Mat22;
private var K3:b2Mat22;
private var K:b2Mat22;
public var m_pivotForce:b2Vec2;
public var m_enableMotor:Boolean;
public var m_referenceAngle:Number;
public var m_limitPositionImpulse:Number;
public var m_motorSpeed:Number;
public var m_upperAngle:Number;
public var m_lowerAngle:Number;
public var m_maxMotorTorque:Number;
public static var tImpulse:b2Vec2 = new b2Vec2();
public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){
K = new b2Mat22();
K1 = new b2Mat22();
K2 = new b2Mat22();
K3 = new b2Mat22();
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_pivotForce = new b2Vec2();
m_pivotMass = new b2Mat22();
super(_arg1);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_referenceAngle = _arg1.referenceAngle;
m_pivotForce.Set(0, 0);
m_motorForce = 0;
m_limitForce = 0;
m_limitPositionImpulse = 0;
m_lowerAngle = _arg1.lowerAngle;
m_upperAngle = _arg1.upperAngle;
m_maxMotorTorque = _arg1.maxMotorTorque;
m_motorSpeed = _arg1.motorSpeed;
m_enableLimit = _arg1.enableLimit;
m_enableMotor = _arg1.enableMotor;
}
override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{
var _local4:b2Mat22;
var _local5:Number;
var _local10:Number;
var _local15: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);
_local15 = (_arg1.dt * _local13);
var _local16:Number = (_arg1.dt * _local14);
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16));
_local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15))));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15))));
if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){
_local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed);
_local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17);
_local19 = m_motorForce;
m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque);
_local18 = (m_motorForce - _local19);
_local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18));
};
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity);
_local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20);
if (m_limitState == e_equalLimits){
m_limitForce = (m_limitForce + _local21);
} else {
if (m_limitState == e_atLowerLimit){
_local10 = m_limitForce;
m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0);
_local21 = (m_limitForce - _local10);
} else {
if (m_limitState == e_atUpperLimit){
_local10 = m_limitForce;
m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0);
_local21 = (m_limitForce - _local10);
};
};
};
_local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21));
};
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
public function GetUpperLimit():Number{
return (m_upperAngle);
}
public function GetLowerLimit():Number{
return (m_lowerAngle);
}
public function EnableMotor(_arg1:Boolean):void{
m_enableMotor = _arg1;
}
public function GetMotorSpeed():Number{
return (m_motorSpeed);
}
override public function GetReactionForce():b2Vec2{
return (m_pivotForce);
}
override public function SolvePositionConstraints():Boolean{
var _local1:Number;
var _local2:Number;
var _local6:b2Mat22;
var _local25:Number;
var _local26:Number;
var _local3:b2Body = m_body1;
var _local4:b2Body = m_body2;
var _local5:Number = 0;
_local6 = _local3.m_xf.R;
var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8));
_local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8));
_local7 = _local9;
_local6 = _local4.m_xf.R;
var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
var _local11:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11));
_local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11));
_local10 = _local9;
var _local12:Number = (_local3.m_sweep.c.x + _local7);
var _local13:Number = (_local3.m_sweep.c.y + _local8);
var _local14:Number = (_local4.m_sweep.c.x + _local10);
var _local15:Number = (_local4.m_sweep.c.y + _local11);
var _local16:Number = (_local14 - _local12);
var _local17:Number = (_local15 - _local13);
_local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17)));
var _local18:Number = _local3.m_invMass;
var _local19:Number = _local4.m_invMass;
var _local20:Number = _local3.m_invI;
var _local21:Number = _local4.m_invI;
K1.col1.x = (_local18 + _local19);
K1.col2.x = 0;
K1.col1.y = 0;
K1.col2.y = (_local18 + _local19);
K2.col1.x = ((_local20 * _local8) * _local8);
K2.col2.x = ((-(_local20) * _local7) * _local8);
K2.col1.y = ((-(_local20) * _local7) * _local8);
K2.col2.y = ((_local20 * _local7) * _local7);
K3.col1.x = ((_local21 * _local11) * _local11);
K3.col2.x = ((-(_local21) * _local10) * _local11);
K3.col1.y = ((-(_local21) * _local10) * _local11);
K3.col2.y = ((_local21 * _local10) * _local10);
K.SetM(K1);
K.AddM(K2);
K.AddM(K3);
K.Solve(tImpulse, -(_local16), -(_local17));
var _local22:Number = tImpulse.x;
var _local23:Number = tImpulse.y;
_local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23));
_local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22))));
_local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22));
_local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23));
_local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22))));
_local3.SynchronizeTransform();
_local4.SynchronizeTransform();
var _local24:Number = 0;
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle);
_local26 = 0;
if (m_limitState == e_equalLimits){
_local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection);
_local26 = (-(m_motorMass) * _local2);
_local24 = b2Math.b2Abs(_local2);
} else {
if (m_limitState == e_atLowerLimit){
_local2 = (_local25 - m_lowerAngle);
_local24 = b2Math.b2Max(0, -(_local2));
_local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0);
_local26 = (-(m_motorMass) * _local2);
_local1 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0);
_local26 = (m_limitPositionImpulse - _local1);
} else {
if (m_limitState == e_atUpperLimit){
_local2 = (_local25 - m_upperAngle);
_local24 = b2Math.b2Max(0, _local2);
_local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection);
_local26 = (-(m_motorMass) * _local2);
_local1 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0);
_local26 = (m_limitPositionImpulse - _local1);
};
};
};
_local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26));
_local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26));
_local3.SynchronizeTransform();
_local4.SynchronizeTransform();
};
return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop))));
}
public function SetMotorSpeed(_arg1:Number):void{
m_motorSpeed = _arg1;
}
public function GetJointSpeed():Number{
return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity));
}
public function SetMaxMotorTorque(_arg1:Number):void{
m_maxMotorTorque = _arg1;
}
public function GetJointAngle():Number{
return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle));
}
public function GetMotorTorque():Number{
return (m_motorForce);
}
override public function InitVelocityConstraints(_arg1:b2TimeStep):void{
var _local2:b2Body;
var _local3:b2Body;
var _local4:b2Mat22;
var _local5:Number;
var _local7:Number;
var _local14:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2.m_xf.R;
var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7));
_local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7));
_local6 = _local5;
_local4 = _local3.m_xf.R;
var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local5;
var _local10:Number = _local2.m_invMass;
var _local11:Number = _local3.m_invMass;
var _local12:Number = _local2.m_invI;
var _local13:Number = _local3.m_invI;
K1.col1.x = (_local10 + _local11);
K1.col2.x = 0;
K1.col1.y = 0;
K1.col2.y = (_local10 + _local11);
K2.col1.x = ((_local12 * _local7) * _local7);
K2.col2.x = ((-(_local12) * _local6) * _local7);
K2.col1.y = ((-(_local12) * _local6) * _local7);
K2.col2.y = ((_local12 * _local6) * _local6);
K3.col1.x = ((_local13 * _local9) * _local9);
K3.col2.x = ((-(_local13) * _local8) * _local9);
K3.col1.y = ((-(_local13) * _local8) * _local9);
K3.col2.y = ((_local13 * _local8) * _local8);
K.SetM(K1);
K.AddM(K2);
K.AddM(K3);
K.Invert(m_pivotMass);
m_motorMass = (1 / (_local12 + _local13));
if (m_enableMotor == false){
m_motorForce = 0;
};
if (m_enableLimit){
_local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle);
if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){
m_limitState = e_equalLimits;
} else {
if (_local14 <= m_lowerAngle){
if (m_limitState != e_atLowerLimit){
m_limitForce = 0;
};
m_limitState = e_atLowerLimit;
} else {
if (_local14 >= m_upperAngle){
if (m_limitState != e_atUpperLimit){
m_limitForce = 0;
};
m_limitState = e_atUpperLimit;
} else {
m_limitState = e_inactiveLimit;
m_limitForce = 0;
};
};
};
} else {
m_limitForce = 0;
};
if (_arg1.warmStarting){
_local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x));
_local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce)));
_local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x));
_local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce)));
} else {
m_pivotForce.SetZero();
m_motorForce = 0;
m_limitForce = 0;
};
m_limitPositionImpulse = 0;
}
public function EnableLimit(_arg1:Boolean):void{
m_enableLimit = _arg1;
}
override public function GetReactionTorque():Number{
return (m_limitForce);
}
public function IsLimitEnabled():Boolean{
return (m_enableLimit);
}
public function IsMotorEnabled():Boolean{
return (m_enableMotor);
}
public function SetLimits(_arg1:Number, _arg2:Number):void{
m_lowerAngle = _arg1;
m_upperAngle = _arg2;
}
}
}//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2RevoluteJointDef extends b2JointDef {
public var upperAngle:Number;
public var enableMotor:Boolean;
public var referenceAngle:Number;
public var motorSpeed:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var enableLimit:Boolean;
public var lowerAngle:Number;
public var maxMotorTorque:Number;
public function b2RevoluteJointDef(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
super();
type = b2Joint.e_revoluteJoint;
localAnchor1.Set(0, 0);
localAnchor2.Set(0, 0);
referenceAngle = 0;
lowerAngle = 0;
upperAngle = 0;
maxMotorTorque = 0;
motorSpeed = 0;
enableLimit = false;
enableMotor = false;
}
public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{
body1 = _arg1;
body2 = _arg2;
localAnchor1 = body1.GetLocalPoint(_arg3);
localAnchor2 = body2.GetLocalPoint(_arg3);
referenceAngle = (body2.GetAngle() - body1.GetAngle());
}
}
}//package Box2D.Dynamics.Joints
Section 64
//b2Body (Box2D.Dynamics.b2Body)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Dynamics.Contacts.*;
public class b2Body {
public var m_next:b2Body;
public var m_xf:b2XForm;
public var m_contactList:b2ContactEdge;
public var m_angularVelocity:Number;
public var m_shapeList:b2Shape;
public var m_force:b2Vec2;
public var m_mass:Number;
public var m_sweep:b2Sweep;
public var m_torque:Number;
public var m_userData;
public var m_flags:uint;
public var m_world:b2World;
public var m_prev:b2Body;
public var m_invMass:Number;
public var m_type:int;
public var m_linearDamping:Number;
public var m_shapeCount:int;
public var m_angularDamping:Number;
public var m_invI:Number;
public var m_linearVelocity:b2Vec2;
public var m_sleepTime:Number;
public var m_jointList:b2JointEdge;
public var m_I:Number;
public static var e_fixedRotationFlag:uint = 64;
public static var e_frozenFlag:uint = 2;
public static var e_maxTypes:uint = 3;
public static var e_sleepFlag:uint = 8;
private static var s_massData:b2MassData = new b2MassData();
public static var e_bulletFlag:uint = 32;
public static var e_staticType:uint = 1;
public static var e_islandFlag:uint = 4;
public static var e_allowSleepFlag:uint = 16;
private static var s_xf1:b2XForm = new b2XForm();
public static var e_dynamicType:uint = 2;
public function b2Body(_arg1:b2BodyDef, _arg2:b2World){
m_xf = new b2XForm();
m_sweep = new b2Sweep();
m_linearVelocity = new b2Vec2();
m_force = new b2Vec2();
super();
m_flags = 0;
if (_arg1.isBullet){
m_flags = (m_flags | e_bulletFlag);
};
if (_arg1.fixedRotation){
m_flags = (m_flags | e_fixedRotationFlag);
};
if (_arg1.allowSleep){
m_flags = (m_flags | e_allowSleepFlag);
};
if (_arg1.isSleeping){
m_flags = (m_flags | e_sleepFlag);
};
m_world = _arg2;
m_xf.position.SetV(_arg1.position);
m_xf.R.Set(_arg1.angle);
m_sweep.localCenter.SetV(_arg1.massData.center);
m_sweep.t0 = 1;
m_sweep.a0 = (m_sweep.a = _arg1.angle);
var _local3:b2Mat22 = m_xf.R;
var _local4:b2Vec2 = m_sweep.localCenter;
m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
m_jointList = null;
m_contactList = null;
m_prev = null;
m_next = null;
m_linearDamping = _arg1.linearDamping;
m_angularDamping = _arg1.angularDamping;
m_force.Set(0, 0);
m_torque = 0;
m_linearVelocity.SetZero();
m_angularVelocity = 0;
m_sleepTime = 0;
m_invMass = 0;
m_I = 0;
m_invI = 0;
m_mass = _arg1.massData.mass;
if (m_mass > 0){
m_invMass = (1 / m_mass);
};
if ((m_flags & b2Body.e_fixedRotationFlag) == 0){
m_I = _arg1.massData.I;
};
if (m_I > 0){
m_invI = (1 / m_I);
};
if ((((m_invMass == 0)) && ((m_invI == 0)))){
m_type = e_staticType;
} else {
m_type = e_dynamicType;
};
m_userData = _arg1.userData;
m_shapeList = null;
m_shapeCount = 0;
}
public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{
return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x)))));
}
public function SetLinearVelocity(_arg1:b2Vec2):void{
m_linearVelocity.SetV(_arg1);
}
public function WakeUp():void{
m_flags = (m_flags & ~(e_sleepFlag));
m_sleepTime = 0;
}
public function GetLocalCenter():b2Vec2{
return (m_sweep.localCenter);
}
public function ApplyTorque(_arg1:Number):void{
if (IsSleeping()){
WakeUp();
};
m_torque = (m_torque + _arg1);
}
public function IsFrozen():Boolean{
return (((m_flags & e_frozenFlag) == e_frozenFlag));
}
public function IsDynamic():Boolean{
return ((m_type == e_dynamicType));
}
public function GetLinearVelocity():b2Vec2{
return (m_linearVelocity);
}
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 AddShape(_arg1:b2Shape):b2Shape{
if (m_world.m_lock == true){
return (null);
};
_arg1.m_next = m_shapeList;
m_shapeList = _arg1;
m_shapeCount++;
_arg1.m_body = this;
_arg1.CreateProxy(m_world.m_broadPhase, m_xf);
_arg1.UpdateSweepRadius(m_sweep.localCenter);
return (_arg1);
}
public function GetInertia():Number{
return (m_I);
}
public function IsSleeping():Boolean{
return (((m_flags & e_sleepFlag) == e_sleepFlag));
}
public function SetMassFromShapes():void{
var _local1:b2Shape;
if (m_world.m_lock == true){
return;
};
m_mass = 0;
m_invMass = 0;
m_I = 0;
m_invI = 0;
var _local2:Number = 0;
var _local3:Number = 0;
var _local4:b2MassData = s_massData;
_local1 = m_shapeList;
while (_local1) {
_local1.ComputeMass(_local4);
m_mass = (m_mass + _local4.mass);
_local2 = (_local2 + (_local4.mass * _local4.center.x));
_local3 = (_local3 + (_local4.mass * _local4.center.y));
m_I = (m_I + _local4.I);
_local1 = _local1.m_next;
};
if (m_mass > 0){
m_invMass = (1 / m_mass);
_local2 = (_local2 * m_invMass);
_local3 = (_local3 * m_invMass);
};
if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){
m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3))));
m_invI = (1 / m_I);
} else {
m_I = 0;
m_invI = 0;
};
m_sweep.localCenter.Set(_local2, _local3);
var _local5:b2Mat22 = m_xf.R;
var _local6:b2Vec2 = m_sweep.localCenter;
m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y));
m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
_local1 = m_shapeList;
while (_local1) {
_local1.UpdateSweepRadius(m_sweep.localCenter);
_local1 = _local1.m_next;
};
var _local7:int = m_type;
if ((((m_invMass == 0)) && ((m_invI == 0)))){
m_type = e_staticType;
} else {
m_type = e_dynamicType;
};
if (_local7 != m_type){
_local1 = m_shapeList;
while (_local1) {
_local1.RefilterProxy(m_world.m_broadPhase, m_xf);
_local1 = _local1.m_next;
};
};
}
public function PutToSleep():void{
m_flags = (m_flags | e_sleepFlag);
m_sleepTime = 0;
m_linearVelocity.SetZero();
m_angularVelocity = 0;
m_force.SetZero();
m_torque = 0;
}
public function GetJointList():b2JointEdge{
return (m_jointList);
}
public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{
var _local3:b2Shape;
var _local7:Boolean;
if (m_world.m_lock == true){
return (true);
};
if (IsFrozen()){
return (false);
};
m_xf.R.Set(_arg2);
m_xf.position.SetV(_arg1);
var _local4:b2Mat22 = m_xf.R;
var _local5:b2Vec2 = m_sweep.localCenter;
m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y));
m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
m_sweep.a0 = (m_sweep.a = _arg2);
var _local6:Boolean;
_local3 = m_shapeList;
while (_local3) {
_local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf);
if (_local7 == false){
_local6 = true;
break;
};
_local3 = _local3.m_next;
};
if (_local6 == true){
m_flags = (m_flags | e_frozenFlag);
m_linearVelocity.SetZero();
m_angularVelocity = 0;
_local3 = m_shapeList;
while (_local3) {
_local3.DestroyProxy(m_world.m_broadPhase);
_local3 = _local3.m_next;
};
return (false);
};
m_world.m_broadPhase.Commit();
return (true);
}
public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{
return (b2Math.b2MulXT(m_xf, _arg1));
}
public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{
if (IsSleeping()){
WakeUp();
};
m_force.x = (m_force.x + _arg1.x);
m_force.y = (m_force.y + _arg1.y);
m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)));
}
public function SynchronizeShapes():Boolean{
var _local4:b2Shape;
var _local1:b2XForm = s_xf1;
_local1.R.Set(m_sweep.a0);
var _local2:b2Mat22 = _local1.R;
var _local3:b2Vec2 = m_sweep.localCenter;
_local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y)));
_local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y)));
var _local5:Boolean;
_local4 = m_shapeList;
while (_local4) {
_local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf);
if (_local5 == false){
break;
};
_local4 = _local4.m_next;
};
if (_local5 == false){
m_flags = (m_flags | e_frozenFlag);
m_linearVelocity.SetZero();
m_angularVelocity = 0;
_local4 = m_shapeList;
while (_local4) {
_local4.DestroyProxy(m_world.m_broadPhase);
_local4 = _local4.m_next;
};
return (false);
};
return (true);
}
public function GetAngle():Number{
return (m_sweep.a);
}
public function GetXForm():b2XForm{
return (m_xf);
}
public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{
if (IsSleeping()){
WakeUp();
};
m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x));
m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y));
m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))));
}
public function GetAngularVelocity():Number{
return (m_angularVelocity);
}
public function GetMass():Number{
return (m_mass);
}
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 GetShapeList():b2Shape{
return (m_shapeList);
}
public function SetAngularVelocity(_arg1:Number):void{
m_angularVelocity = _arg1;
}
public function SetMass(_arg1:b2MassData):void{
var _local2:b2Shape;
if (m_world.m_lock == true){
return;
};
m_invMass = 0;
m_I = 0;
m_invI = 0;
m_mass = _arg1.mass;
if (m_mass > 0){
m_invMass = (1 / m_mass);
};
if ((m_flags & b2Body.e_fixedRotationFlag) == 0){
m_I = _arg1.I;
};
if (m_I > 0){
m_invI = (1 / m_I);
};
m_sweep.localCenter.SetV(_arg1.center);
var _local3:b2Mat22 = m_xf.R;
var _local4:b2Vec2 = m_sweep.localCenter;
m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
_local2 = m_shapeList;
while (_local2) {
_local2.UpdateSweepRadius(m_sweep.localCenter);
_local2 = _local2.m_next;
};
var _local5:int = m_type;
if ((((m_invMass == 0)) && ((m_invI == 0)))){
m_type = e_staticType;
} else {
m_type = e_dynamicType;
};
if (_local5 != m_type){
_local2 = m_shapeList;
while (_local2) {
_local2.RefilterProxy(m_world.m_broadPhase, m_xf);
_local2 = _local2.m_next;
};
};
}
public function IsStatic():Boolean{
return ((m_type == e_staticType));
}
public function GetWorldVector(_arg1:b2Vec2):b2Vec2{
return (b2Math.b2MulMV(m_xf.R, _arg1));
}
public function GetNext():b2Body{
return (m_next);
}
public function Advance(_arg1:Number):void{
m_sweep.Advance(_arg1);
m_sweep.c.SetV(m_sweep.c0);
m_sweep.a = m_sweep.a0;
SynchronizeTransform();
}
public function SetBullet(_arg1:Boolean):void{
if (_arg1){
m_flags = (m_flags | e_bulletFlag);
} else {
m_flags = (m_flags & ~(e_bulletFlag));
};
}
public function CreateShape(_arg1:b2ShapeDef):b2Shape{
if (m_world.m_lock == true){
return (null);
};
var _local2:b2Shape = b2Shape.Create(_arg1, m_world.m_blockAllocator);
return (AddShape(_local2));
}
public function IsConnected(_arg1:b2Body):Boolean{
var _local2:b2JointEdge = m_jointList;
while (_local2) {
if (_local2.other == _arg1){
return ((_local2.joint.m_collideConnected == false));
};
_local2 = _local2.next;
};
return (false);
}
public function DestroyShape(_arg1:b2Shape):void{
var _local3:b2Shape;
if (m_world.m_lock == true){
return;
};
_arg1.DestroyProxy(m_world.m_broadPhase);
var _local2:Boolean;
if (m_shapeList == _arg1){
m_shapeList = m_shapeList.m_next;
_local2 = true;
} else {
_local3 = m_shapeList;
while (_local3 != null) {
if (_local3.m_next == _arg1){
_local3.m_next = _arg1.m_next;
_local2 = true;
break;
};
_local3 = _local3.m_next;
};
};
_arg1.m_body = null;
_arg1.m_next = null;
m_shapeCount--;
b2Shape.Destroy(_arg1, m_world.m_blockAllocator);
}
public function GetUserData(){
return (m_userData);
}
public function IsBullet():Boolean{
return (((m_flags & e_bulletFlag) == e_bulletFlag));
}
public function GetWorldCenter():b2Vec2{
return (m_sweep.c);
}
public function AllowSleeping(_arg1:Boolean):void{
if (_arg1){
m_flags = (m_flags | e_allowSleepFlag);
} else {
m_flags = (m_flags & ~(e_allowSleepFlag));
WakeUp();
};
}
public function SetUserData(_arg1):void{
m_userData = _arg1;
}
public function GetLocalVector(_arg1:b2Vec2):b2Vec2{
return (b2Math.b2MulTMV(m_xf.R, _arg1));
}
public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{
var _local2:b2Mat22 = m_xf.R;
var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y)));
_local3.x = (_local3.x + m_xf.position.x);
_local3.y = (_local3.y + m_xf.position.y);
return (_local3);
}
public function GetWorld():b2World{
return (m_world);
}
public function GetPosition():b2Vec2{
return (m_xf.position);
}
}
}//package Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
public class b2BodyDef {
public var angularDamping:Number;
public var angle:Number;
public var isSleeping:Boolean;
public var position:b2Vec2;
public var isBullet:Boolean;
public var allowSleep:Boolean;
public var userData;
public var fixedRotation:Boolean;
public var linearDamping:Number;
public var massData:b2MassData;
public function b2BodyDef(){
massData = new b2MassData();
position = new b2Vec2();
super();
massData.center.SetZero();
massData.mass = 0;
massData.I = 0;
userData = null;
position.Set(0, 0);
angle = 0;
linearDamping = 0;
angularDamping = 0;
allowSleep = true;
isSleeping = false;
fixedRotation = false;
isBullet = false;
}
}
}//package Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener)
package Box2D.Dynamics {
public class b2BoundaryListener {
public function Violation(_arg1:b2Body):void{
}
}
}//package Box2D.Dynamics
Section 67
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
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.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){
return ((_local3.groupIndex > 0));
};
var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0))));
return (_local5);
}
public function RayCollide(_arg1, _arg2:b2Shape):Boolean{
if (!_arg1){
return (true);
};
return (ShouldCollide((_arg1 as b2Shape), _arg2));
}
}
}//package Box2D.Dynamics
Section 68
//b2ContactListener (Box2D.Dynamics.b2ContactListener)
package Box2D.Dynamics {
import Box2D.Collision.*;
import Box2D.Dynamics.Contacts.*;
public class b2ContactListener {
public function Add(_arg1:b2ContactPoint):void{
}
public function Remove(_arg1:b2ContactPoint):void{
}
public function Persist(_arg1:b2ContactPoint):void{
}
public function Result(_arg1:b2ContactResult):void{
}
}
}//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Common.*;
import Box2D.Dynamics.Contacts.*;
public class b2ContactManager extends b2PairCallback {
public var m_world:b2World;
public var m_destroyImmediate:Boolean;
public var m_nullContact:b2NullContact;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2ContactManager(){
m_nullContact = new b2NullContact();
super();
m_world = null;
m_destroyImmediate = false;
}
override public function PairRemoved(_arg1, _arg2, _arg3):void{
if (_arg3 == null){
return;
};
var _local4:b2Contact = (_arg3 as b2Contact);
if (_local4 == m_nullContact){
return;
};
Destroy(_local4);
}
public function Destroy(_arg1:b2Contact):void{
var _local7:b2Body;
var _local8:b2Body;
var _local9:Array;
var _local10:b2ContactPoint;
var _local11:int;
var _local12:b2Manifold;
var _local13:int;
var _local14:b2ManifoldPoint;
var _local15:b2Vec2;
var _local16:b2Vec2;
var _local2:b2Shape = _arg1.m_shape1;
var _local3:b2Shape = _arg1.m_shape2;
var _local4:int = _arg1.m_manifoldCount;
if ((((_local4 > 0)) && (m_world.m_contactListener))){
_local7 = _local2.m_body;
_local8 = _local3.m_body;
_local9 = _arg1.GetManifolds();
_local10 = s_evalCP;
_local10.shape1 = _arg1.m_shape1;
_local10.shape2 = _arg1.m_shape1;
_local10.friction = _arg1.m_friction;
_local10.restitution = _arg1.m_restitution;
_local11 = 0;
while (_local11 < _local4) {
_local12 = _local9[_local11];
_local10.normal.SetV(_local12.normal);
_local13 = 0;
while (_local13 < _local12.pointCount) {
_local14 = _local12.points[_local13];
_local10.position = _local7.GetWorldPoint(_local14.localPoint1);
_local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1);
_local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2);
_local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y));
_local10.separation = _local14.separation;
_local10.id.key = _local14.id._key;
m_world.m_contactListener.Remove(_local10);
_local13++;
};
_local11++;
};
};
if (_arg1.m_prev){
_arg1.m_prev.m_next = _arg1.m_next;
};
if (_arg1.m_next){
_arg1.m_next.m_prev = _arg1.m_prev;
};
if (_arg1 == m_world.m_contactList){
m_world.m_contactList = _arg1.m_next;
};
var _local5:b2Body = _local2.m_body;
var _local6:b2Body = _local3.m_body;
if (_arg1.m_node1.prev){
_arg1.m_node1.prev.next = _arg1.m_node1.next;
};
if (_arg1.m_node1.next){
_arg1.m_node1.next.prev = _arg1.m_node1.prev;
};
if (_arg1.m_node1 == _local5.m_contactList){
_local5.m_contactList = _arg1.m_node1.next;
};
if (_arg1.m_node2.prev){
_arg1.m_node2.prev.next = _arg1.m_node2.next;
};
if (_arg1.m_node2.next){
_arg1.m_node2.next.prev = _arg1.m_node2.prev;
};
if (_arg1.m_node2 == _local6.m_contactList){
_local6.m_contactList = _arg1.m_node2.next;
};
b2Contact.Destroy(_arg1, m_world.m_blockAllocator);
m_world.m_contactCount--;
}
override public function PairAdded(_arg1, _arg2){
var _local5:b2Body;
var _local3:b2Shape = (_arg1 as b2Shape);
var _local4:b2Shape = (_arg2 as b2Shape);
_local5 = _local3.m_body;
var _local6:b2Body = _local4.m_body;
if (((_local5.IsStatic()) && (_local6.IsStatic()))){
return (m_nullContact);
};
if (_local3.m_body == _local4.m_body){
return (m_nullContact);
};
if (_local6.IsConnected(_local5)){
return (m_nullContact);
};
if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){
return (m_nullContact);
};
var _local7:b2Contact = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator);
if (_local7 == null){
return (m_nullContact);
};
_local3 = _local7.m_shape1;
_local4 = _local7.m_shape2;
_local5 = _local3.m_body;
_local6 = _local4.m_body;
_local7.m_prev = null;
_local7.m_next = m_world.m_contactList;
if (m_world.m_contactList != null){
m_world.m_contactList.m_prev = _local7;
};
m_world.m_contactList = _local7;
_local7.m_node1.contact = _local7;
_local7.m_node1.other = _local6;
_local7.m_node1.prev = null;
_local7.m_node1.next = _local5.m_contactList;
if (_local5.m_contactList != null){
_local5.m_contactList.prev = _local7.m_node1;
};
_local5.m_contactList = _local7.m_node1;
_local7.m_node2.contact = _local7;
_local7.m_node2.other = _local5;
_local7.m_node2.prev = null;
_local7.m_node2.next = _local6.m_contactList;
if (_local6.m_contactList != null){
_local6.m_contactList.prev = _local7.m_node2;
};
_local6.m_contactList = _local7.m_node2;
m_world.m_contactCount++;
return (_local7);
}
public function Collide():void{
var _local2:b2Body;
var _local3:b2Body;
var _local1:b2Contact = m_world.m_contactList;
while (_local1) {
_local2 = _local1.m_shape1.m_body;
_local3 = _local1.m_shape2.m_body;
if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){
} else {
_local1.Update(m_world.m_contactListener);
};
_local1 = _local1.m_next;
};
}
}
}//package Box2D.Dynamics
Section 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import flash.display.*;
import Box2D.Common.*;
import Box2D.Dynamics.Contacts.*;
public class b2DebugDraw {
public var m_xformScale:Number;// = 1
public var m_fillAlpha:Number;// = 1
public var m_alpha:Number;// = 1
public var m_drawFlags:uint;
public var m_lineThickness:Number;// = 1
public var m_drawScale:Number;// = 1
public var m_sprite:Sprite;
public static var e_coreShapeBit:uint = 4;
public static var e_shapeBit:uint = 1;
public static var e_centerOfMassBit:uint = 64;
public static var e_aabbBit:uint = 8;
public static var e_obbBit:uint = 16;
public static var e_pairBit:uint = 32;
public static var e_jointBit:uint = 2;
public function b2DebugDraw(){
m_drawFlags = 0;
}
public function ClearFlags(_arg1:uint):void{
m_drawFlags = (m_drawFlags & ~(_arg1));
}
public function SetFlags(_arg1:uint):void{
m_drawFlags = _arg1;
}
public function AppendFlags(_arg1:uint):void{
m_drawFlags = (m_drawFlags | _arg1);
}
public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{
m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha);
m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale));
m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale));
}
public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{
m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha);
m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale));
m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha);
var _local4 = 1;
while (_local4 < _arg2) {
m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale));
_local4++;
};
m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale));
m_sprite.graphics.endFill();
}
public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{
m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha);
m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale));
}
public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{
m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha);
m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale));
var _local4 = 1;
while (_local4 < _arg2) {
m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale));
_local4++;
};
m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale));
}
public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{
m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha);
m_sprite.graphics.moveTo(0, 0);
m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha);
m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale));
m_sprite.graphics.endFill();
m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale));
m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale));
}
public function GetFlags():uint{
return (m_drawFlags);
}
public function DrawXForm(_arg1:b2XForm):void{
m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha);
m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale));
m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale));
m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha);
m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale));
m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale));
}
}
}//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Joints.*;
public class b2DestructionListener {
public function SayGoodbyeShape(_arg1:b2Shape):void{
}
public function SayGoodbyeJoint(_arg1:b2Joint):void{
}
}
}//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island)
package Box2D.Dynamics {
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Common.*;
import Box2D.Dynamics.Contacts.*;
public class b2Island {
public var m_listener:b2ContactListener;
public var m_positionIterationCount:int;
public var m_bodyCapacity:int;
public var m_bodies:Array;
public var m_joints:Array;
public var m_jointCapacity:int;
public var m_contactCount:int;
public var m_contacts:Array;
public var m_contactCapacity:int;
public var m_jointCount:int;
public var m_allocator;
public var m_bodyCount:int;
private static var s_reportCR:b2ContactResult = new b2ContactResult();
public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){
var _local6:int;
super();
m_bodyCapacity = _arg1;
m_contactCapacity = _arg2;
m_jointCapacity = _arg3;
m_bodyCount = 0;
m_contactCount = 0;
m_jointCount = 0;
m_allocator = _arg4;
m_listener = _arg5;
m_bodies = new Array(_arg1);
_local6 = 0;
while (_local6 < _arg1) {
m_bodies[_local6] = null;
_local6++;
};
m_contacts = new Array(_arg2);
_local6 = 0;
while (_local6 < _arg2) {
m_contacts[_local6] = null;
_local6++;
};
m_joints = new Array(_arg3);
_local6 = 0;
while (_local6 < _arg3) {
m_joints[_local6] = null;
_local6++;
};
m_positionIterationCount = 0;
}
public function AddBody(_arg1:b2Body):void{
var _local2 = m_bodyCount++;
m_bodies[_local2] = _arg1;
}
public function AddJoint(_arg1:b2Joint):void{
var _local2 = m_jointCount++;
m_joints[_local2] = _arg1;
}
public function Report(_arg1:Array):void{
var _local2:b2Mat22;
var _local3:b2Vec2;
var _local5:b2Contact;
var _local6:b2ContactConstraint;
var _local7:b2ContactResult;
var _local8:b2Body;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:b2Manifold;
var _local13:int;
var _local14:b2ManifoldPoint;
var _local15:b2ContactConstraintPoint;
if (m_listener == null){
return;
};
var _local4:int;
while (_local4 < m_contactCount) {
_local5 = m_contacts[_local4];
_local6 = _arg1[_local4];
_local7 = s_reportCR;
_local7.shape1 = _local5.m_shape1;
_local7.shape2 = _local5.m_shape2;
_local8 = _local7.shape1.m_body;
_local9 = _local5.m_manifoldCount;
_local10 = _local5.GetManifolds();
_local11 = 0;
while (_local11 < _local9) {
_local12 = _local10[_local11];
_local7.normal.SetV(_local12.normal);
_local13 = 0;
while (_local13 < _local12.pointCount) {
_local14 = _local12.points[_local13];
_local15 = _local6.points[_local13];
_local7.position = _local8.GetWorldPoint(_local14.localPoint1);
_local7.normalImpulse = _local15.normalImpulse;
_local7.tangentImpulse = _local15.tangentImpulse;
_local7.id.key = _local14.id.key;
m_listener.Result(_local7);
_local13++;
};
_local11++;
};
_local4++;
};
}
public function AddContact(_arg1:b2Contact):void{
var _local2 = m_contactCount++;
m_contacts[_local2] = _arg1;
}
public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{
var _local5:int;
var _local6:b2Body;
var _local7:b2Joint;
var _local9:int;
var _local10:Boolean;
var _local11:Boolean;
var _local12:Boolean;
var _local13:Number;
var _local14:Number;
var _local15:Number;
_local5 = 0;
while (_local5 < m_bodyCount) {
_local6 = m_bodies[_local5];
if (_local6.IsStatic()){
} else {
_local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x))));
_local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y))));
_local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque));
_local6.m_force.SetZero();
_local6.m_torque = 0;
_local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1));
_local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1));
if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){
_local6.m_linearVelocity.Normalize();
_local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity);
_local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity);
};
if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){
if (_local6.m_angularVelocity < 0){
_local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity);
} else {
_local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity;
};
};
};
_local5++;
};
var _local8:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator);
_local8.InitVelocityConstraints(_arg1);
_local5 = 0;
while (_local5 < m_jointCount) {
_local7 = m_joints[_local5];
_local7.InitVelocityConstraints(_arg1);
_local5++;
};
_local5 = 0;
while (_local5 < _arg1.maxIterations) {
_local8.SolveVelocityConstraints();
_local9 = 0;
while (_local9 < m_jointCount) {
_local7 = m_joints[_local9];
_local7.SolveVelocityConstraints(_arg1);
_local9++;
};
_local5++;
};
_local8.FinalizeVelocityConstraints();
_local5 = 0;
while (_local5 < m_bodyCount) {
_local6 = m_bodies[_local5];
if (_local6.IsStatic()){
} else {
_local6.m_sweep.c0.SetV(_local6.m_sweep.c);
_local6.m_sweep.a0 = _local6.m_sweep.a;
_local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x));
_local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y));
_local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity));
_local6.SynchronizeTransform();
};
_local5++;
};
if (_arg3){
_local5 = 0;
while (_local5 < m_jointCount) {
_local7 = m_joints[_local5];
_local7.InitPositionConstraints();
_local5++;
};
m_positionIterationCount = 0;
while (m_positionIterationCount < _arg1.maxIterations) {
_local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte);
_local11 = true;
_local5 = 0;
while (_local5 < m_jointCount) {
_local7 = m_joints[_local5];
_local12 = _local7.SolvePositionConstraints();
_local11 = ((_local11) && (_local12));
_local5++;
};
if (((_local10) && (_local11))){
break;
};
m_positionIterationCount++;
};
};
Report(_local8.m_constraints);
if (_arg4){
_local13 = Number.MAX_VALUE;
_local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance);
_local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance);
_local5 = 0;
while (_local5 < m_bodyCount) {
_local6 = m_bodies[_local5];
if (_local6.m_invMass == 0){
} else {
if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){
_local6.m_sleepTime = 0;
_local13 = 0;
};
if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){
_local6.m_sleepTime = 0;
_local13 = 0;
} else {
_local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt);
_local13 = b2Math.b2Min(_local13, _local6.m_sleepTime);
};
};
_local5++;
};
if (_local13 >= b2Settings.b2_timeToSleep){
_local5 = 0;
while (_local5 < m_bodyCount) {
_local6 = m_bodies[_local5];
m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag);
_local6.m_linearVelocity.SetZero();
_local6.m_angularVelocity = 0;
_local5++;
};
};
};
}
public function Clear():void{
m_bodyCount = 0;
m_contactCount = 0;
m_jointCount = 0;
}
public function SolveTOI(_arg1:b2TimeStep):void{
var _local2:int;
var _local5:b2Body;
var _local6:Boolean;
var _local3:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator);
_local2 = 0;
while (_local2 < _arg1.maxIterations) {
_local3.SolveVelocityConstraints();
_local2++;
};
_local2 = 0;
while (_local2 < m_bodyCount) {
_local5 = m_bodies[_local2];
if (_local5.IsStatic()){
} else {
_local5.m_sweep.c0.SetV(_local5.m_sweep.c);
_local5.m_sweep.a0 = _local5.m_sweep.a;
_local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x));
_local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y));
_local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity));
_local5.SynchronizeTransform();
};
_local2++;
};
var _local4:Number = 0.75;
_local2 = 0;
while (_local2 < _arg1.maxIterations) {
_local6 = _local3.SolvePositionConstraints(_local4);
if (_local6){
break;
};
_local2++;
};
Report(_local3.m_constraints);
}
}
}//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep)
package Box2D.Dynamics {
public class b2TimeStep {
public var warmStarting:Boolean;
public var positionCorrection:Boolean;
public var dt:Number;
public var maxIterations:int;
public var dtRatio:Number;
public var inv_dt:Number;
}
}//package Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Common.*;
import Box2D.Dynamics.Contacts.*;
public class b2World {
public var m_inv_dt0:Number;
public var m_boundaryListener:b2BoundaryListener;
public var m_contactList:b2Contact;
public var m_blockAllocator;
public var m_contactListener:b2ContactListener;
public var m_raycastSegment:b2Segment;
public var m_broadPhase:b2BroadPhase;
public var m_destructionListener:b2DestructionListener;
public var m_jointCount:int;
public var m_lock:Boolean;
public var m_bodyCount:int;
public var m_raycastUserData;
public var m_allowSleep:Boolean;
public var m_positionIterationCount:int;
public var m_groundBody:b2Body;
public var m_contactCount:int;
public var m_raycastNormal:b2Vec2;
public var m_contactFilter:b2ContactFilter;
public var m_bodyList:b2Body;
public var m_debugDraw:b2DebugDraw;
public var m_stackAllocator;
public var m_jointList:b2Joint;
public var m_gravity:b2Vec2;
public var m_contactManager:b2ContactManager;
private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8);
public static var m_continuousPhysics:Boolean;
public static var m_warmStarting:Boolean;
private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6);
public static var m_positionCorrection:Boolean;
private static var s_xf:b2XForm = new b2XForm();
public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){
m_raycastNormal = new b2Vec2();
m_contactManager = new b2ContactManager();
super();
m_destructionListener = null;
m_boundaryListener = null;
m_contactFilter = b2ContactFilter.b2_defaultFilter;
m_contactListener = null;
m_debugDraw = null;
m_bodyList = null;
m_contactList = null;
m_jointList = null;
m_bodyCount = 0;
m_contactCount = 0;
m_jointCount = 0;
m_positionCorrection = true;
m_warmStarting = true;
m_continuousPhysics = true;
m_allowSleep = _arg3;
m_gravity = _arg2;
m_lock = false;
m_inv_dt0 = 0;
m_contactManager.m_world = this;
m_broadPhase = new b2BroadPhase(_arg1, m_contactManager);
var _local4:b2BodyDef = new b2BodyDef();
m_groundBody = CreateBody(_local4);
}
public function DrawJoint(_arg1:b2Joint):void{
var _local11:b2PulleyJoint;
var _local12:b2Vec2;
var _local13:b2Vec2;
var _local2:b2Body = _arg1.m_body1;
var _local3:b2Body = _arg1.m_body2;
var _local4:b2XForm = _local2.m_xf;
var _local5:b2XForm = _local3.m_xf;
var _local6:b2Vec2 = _local4.position;
var _local7:b2Vec2 = _local5.position;
var _local8:b2Vec2 = _arg1.GetAnchor1();
var _local9:b2Vec2 = _arg1.GetAnchor2();
var _local10:b2Color = s_jointColor;
switch (_arg1.m_type){
case b2Joint.e_distanceJoint:
m_debugDraw.DrawSegment(_local8, _local9, _local10);
break;
case b2Joint.e_pulleyJoint:
_local11 = (_arg1 as b2PulleyJoint);
_local12 = _local11.GetGroundAnchor1();
_local13 = _local11.GetGroundAnchor2();
m_debugDraw.DrawSegment(_local12, _local8, _local10);
m_debugDraw.DrawSegment(_local13, _local9, _local10);
m_debugDraw.DrawSegment(_local12, _local13, _local10);
break;
case b2Joint.e_mouseJoint:
m_debugDraw.DrawSegment(_local8, _local9, _local10);
break;
default:
if (_local2 != m_groundBody){
m_debugDraw.DrawSegment(_local6, _local8, _local10);
};
m_debugDraw.DrawSegment(_local8, _local9, _local10);
if (_local3 != m_groundBody){
m_debugDraw.DrawSegment(_local7, _local9, _local10);
};
};
}
public function Refilter(_arg1:b2Shape):void{
_arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf);
}
public function SetDebugDraw(_arg1:b2DebugDraw):void{
m_debugDraw = _arg1;
}
public function SetContinuousPhysics(_arg1:Boolean):void{
m_continuousPhysics = _arg1;
}
public function GetProxyCount():int{
return (m_broadPhase.m_proxyCount);
}
public function DrawDebugData():void{
var _local2:int;
var _local3:b2Body;
var _local4:b2Shape;
var _local5:b2Joint;
var _local6:b2BroadPhase;
var _local11:b2XForm;
var _local15:Boolean;
var _local16:uint;
var _local17:b2Pair;
var _local18:b2Proxy;
var _local19:b2Proxy;
var _local20:b2Vec2;
var _local21:b2Vec2;
var _local22:b2Proxy;
var _local23:b2PolygonShape;
var _local24:b2OBB;
var _local25:b2Vec2;
var _local26:b2Mat22;
var _local27:b2Vec2;
var _local28:Number;
if (m_debugDraw == null){
return;
};
m_debugDraw.m_sprite.graphics.clear();
var _local1:uint = m_debugDraw.GetFlags();
var _local7:b2Vec2 = new b2Vec2();
var _local8:b2Vec2 = new b2Vec2();
var _local9:b2Vec2 = new b2Vec2();
var _local10:b2Color = new b2Color(0, 0, 0);
var _local12:b2AABB = new b2AABB();
var _local13:b2AABB = new b2AABB();
var _local14:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()];
if ((_local1 & b2DebugDraw.e_shapeBit)){
_local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit);
_local3 = m_bodyList;
while (_local3) {
_local11 = _local3.m_xf;
_local4 = _local3.GetShapeList();
while (_local4) {
if (_local3.IsStatic()){
DrawShape(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15);
} else {
if (_local3.IsSleeping()){
DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15);
} else {
DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15);
};
};
_local4 = _local4.m_next;
};
_local3 = _local3.m_next;
};
};
if ((_local1 & b2DebugDraw.e_jointBit)){
_local5 = m_jointList;
while (_local5) {
DrawJoint(_local5);
_local5 = _local5.m_next;
};
};
if ((_local1 & b2DebugDraw.e_pairBit)){
_local6 = m_broadPhase;
_local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y));
_local10.Set(0.9, 0.9, 0.3);
_local2 = 0;
while (_local2 < b2Pair.b2_tableCapacity) {
_local16 = _local6.m_pairManager.m_hashTable[_local2];
while (_local16 != b2Pair.b2_nullPair) {
_local17 = _local6.m_pairManager.m_pairs[_local16];
_local18 = _local6.m_proxyPool[_local17.proxyId1];
_local19 = _local6.m_proxyPool[_local17.proxyId2];
_local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value));
_local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value));
_local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value));
_local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value));
_local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value));
_local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value));
_local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value));
_local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value));
_local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x));
_local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y));
_local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x));
_local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y));
m_debugDraw.DrawSegment(_local8, _local9, _local10);
_local16 = _local17.next;
};
_local2++;
};
};
if ((_local1 & b2DebugDraw.e_aabbBit)){
_local6 = m_broadPhase;
_local20 = _local6.m_worldAABB.lowerBound;
_local21 = _local6.m_worldAABB.upperBound;
_local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y));
_local10.Set(0.9, 0.3, 0.9);
_local2 = 0;
while (_local2 < b2Settings.b2_maxProxies) {
_local22 = _local6.m_proxyPool[_local2];
if (_local22.IsValid() == false){
} else {
_local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value));
_local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value));
_local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value));
_local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value));
_local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y);
_local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y);
_local14[2].Set(_local12.upperBound.x, _local12.upperBound.y);
_local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y);
m_debugDraw.DrawPolygon(_local14, 4, _local10);
};
_local2++;
};
_local14[0].Set(_local20.x, _local20.y);
_local14[1].Set(_local21.x, _local20.y);
_local14[2].Set(_local21.x, _local21.y);
_local14[3].Set(_local20.x, _local21.y);
m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9));
};
if ((_local1 & b2DebugDraw.e_obbBit)){
_local10.Set(0.5, 0.3, 0.5);
_local3 = m_bodyList;
while (_local3) {
_local11 = _local3.m_xf;
_local4 = _local3.GetShapeList();
while (_local4) {
if (_local4.m_type != b2Shape.e_polygonShape){
} else {
_local23 = (_local4 as b2PolygonShape);
_local24 = _local23.GetOBB();
_local25 = _local24.extents;
_local14[0].Set(-(_local25.x), -(_local25.y));
_local14[1].Set(_local25.x, -(_local25.y));
_local14[2].Set(_local25.x, _local25.y);
_local14[3].Set(-(_local25.x), _local25.y);
_local2 = 0;
while (_local2 < 4) {
_local26 = _local24.R;
_local27 = _local14[_local2];
_local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y)));
_local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y)));
_local14[_local2].x = _local28;
_local26 = _local11.R;
_local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y)));
_local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y)));
_local14[_local2].x = _local28;
_local2++;
};
m_debugDraw.DrawPolygon(_local14, 4, _local10);
};
_local4 = _local4.m_next;
};
_local3 = _local3.m_next;
};
};
if ((_local1 & b2DebugDraw.e_centerOfMassBit)){
_local3 = m_bodyList;
while (_local3) {
_local11 = s_xf;
_local11.R = _local3.m_xf.R;
_local11.position = _local3.GetWorldCenter();
m_debugDraw.DrawXForm(_local11);
_local3 = _local3.m_next;
};
};
}
public function DestroyBody(_arg1:b2Body):void{
var _local4:b2JointEdge;
var _local5:b2Shape;
if (m_lock == true){
return;
};
var _local2:b2JointEdge = _arg1.m_jointList;
while (_local2) {
_local4 = _local2;
_local2 = _local2.next;
if (m_destructionListener){
m_destructionListener.SayGoodbyeJoint(_local4.joint);
};
DestroyJoint(_local4.joint);
};
var _local3:b2Shape = _arg1.m_shapeList;
while (_local3) {
_local5 = _local3;
_local3 = _local3.m_next;
if (m_destructionListener){
m_destructionListener.SayGoodbyeShape(_local5);
};
_local5.DestroyProxy(m_broadPhase);
b2Shape.Destroy(_local5, m_blockAllocator);
};
if (_arg1.m_prev){
_arg1.m_prev.m_next = _arg1.m_next;
};
if (_arg1.m_next){
_arg1.m_next.m_prev = _arg1.m_prev;
};
if (_arg1 == m_bodyList){
m_bodyList = _arg1.m_next;
};
m_bodyCount--;
}
public function 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 GetGroundBody():b2Body{
return (m_groundBody);
}
public function SetContactFilter(_arg1:b2ContactFilter):void{
m_contactFilter = _arg1;
}
public function Solve(_arg1:b2TimeStep):void{
var _local2:b2Body;
var _local9:int;
var _local10:int;
var _local11:b2Body;
var _local12:b2ContactEdge;
var _local13:b2JointEdge;
var _local14:Boolean;
m_positionIterationCount = 0;
var _local3:b2Island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener);
_local2 = m_bodyList;
while (_local2) {
_local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag));
_local2 = _local2.m_next;
};
var _local4:b2Contact = m_contactList;
while (_local4) {
_local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag));
_local4 = _local4.m_next;
};
var _local5:b2Joint = m_jointList;
while (_local5) {
_local5.m_islandFlag = false;
_local5 = _local5.m_next;
};
var _local6:int = m_bodyCount;
var _local7:Array = new Array(_local6);
var _local8:b2Body = m_bodyList;
while (_local8) {
if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){
} else {
if (_local8.IsStatic()){
} else {
_local3.Clear();
_local9 = 0;
var _temp1 = _local9;
_local9 = (_local9 + 1);
var _local15 = _temp1;
_local7[_local15] = _local8;
_local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag);
while (_local9 > 0) {
--_local9;
_local2 = _local7[_local9];
_local3.AddBody(_local2);
_local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag));
if (_local2.IsStatic()){
} else {
_local12 = _local2.m_contactList;
while (_local12) {
if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){
} else {
if (_local12.contact.m_manifoldCount == 0){
} else {
_local3.AddContact(_local12.contact);
_local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag);
_local11 = _local12.other;
if ((_local11.m_flags & b2Body.e_islandFlag)){
} else {
var _temp2 = _local9;
_local9 = (_local9 + 1);
var _local16 = _temp2;
_local7[_local16] = _local11;
_local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag);
};
};
};
_local12 = _local12.next;
};
_local13 = _local2.m_jointList;
while (_local13) {
if (_local13.joint.m_islandFlag == true){
} else {
_local3.AddJoint(_local13.joint);
_local13.joint.m_islandFlag = true;
_local11 = _local13.other;
if ((_local11.m_flags & b2Body.e_islandFlag)){
} else {
var _temp3 = _local9;
_local9 = (_local9 + 1);
_local16 = _temp3;
_local7[_local16] = _local11;
_local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag);
};
};
_local13 = _local13.next;
};
};
};
_local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep);
if (_local3.m_positionIterationCount > m_positionIterationCount){
m_positionIterationCount = _local3.m_positionIterationCount;
};
_local10 = 0;
while (_local10 < _local3.m_bodyCount) {
_local2 = _local3.m_bodies[_local10];
if (_local2.IsStatic()){
_local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag));
};
_local10++;
};
};
};
_local8 = _local8.m_next;
};
_local2 = m_bodyList;
while (_local2) {
if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){
} else {
if (_local2.IsStatic()){
} else {
_local14 = _local2.SynchronizeShapes();
if ((((_local14 == false)) && (!((m_boundaryListener == null))))){
m_boundaryListener.Violation(_local2);
};
};
};
_local2 = _local2.m_next;
};
m_broadPhase.Commit();
}
public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{
var _local4:Array = new Array(_arg3);
var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3);
var _local6:int;
while (_local6 < _local5) {
_arg2[_local6] = _local4[_local6];
_local6++;
};
return (_local5);
}
public function GetContactCount():int{
return (m_contactCount);
}
public function SolveTOI(_arg1:b2TimeStep):void{
var _local2:b2Body;
var _local3:b2Shape;
var _local4:b2Shape;
var _local5:b2Body;
var _local6:b2Body;
var _local7:b2ContactEdge;
var _local11:b2Contact;
var _local12:b2Contact;
var _local13:Number;
var _local14:b2Body;
var _local15:int;
var _local16:b2TimeStep;
var _local17:int;
var _local18:Number;
var _local19:Number;
var _local20:b2Body;
var _local21:Boolean;
var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener);
var _local9:int = m_bodyCount;
var _local10:Array = new Array(_local9);
_local2 = m_bodyList;
while (_local2) {
_local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag));
_local2.m_sweep.t0 = 0;
_local2 = _local2.m_next;
};
_local11 = m_contactList;
while (_local11) {
_local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag)));
_local11 = _local11.m_next;
};
while (true) {
_local12 = null;
_local13 = 1;
_local11 = m_contactList;
for (;_local11;(_local11 = _local11.m_next)) {
if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){
} else {
_local18 = 1;
if ((_local11.m_flags & b2Contact.e_toiFlag)){
_local18 = _local11.m_toi;
} else {
_local3 = _local11.m_shape1;
_local4 = _local11.m_shape2;
_local5 = _local3.m_body;
_local6 = _local4.m_body;
if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){
continue;
};
_local19 = _local5.m_sweep.t0;
if (_local5.m_sweep.t0 < _local6.m_sweep.t0){
_local19 = _local6.m_sweep.t0;
_local5.m_sweep.Advance(_local19);
} else {
if (_local6.m_sweep.t0 < _local5.m_sweep.t0){
_local19 = _local5.m_sweep.t0;
_local6.m_sweep.Advance(_local19);
};
};
_local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep);
if ((((_local18 > 0)) && ((_local18 < 1)))){
_local18 = (((1 - _local18) * _local19) + _local18);
if (_local18 > 1){
_local18 = 1;
};
};
_local11.m_toi = _local18;
_local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag);
};
if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){
_local12 = _local11;
_local13 = _local18;
};
};
};
if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){
break;
};
_local3 = _local12.m_shape1;
_local4 = _local12.m_shape2;
_local5 = _local3.m_body;
_local6 = _local4.m_body;
_local5.Advance(_local13);
_local6.Advance(_local13);
_local12.Update(m_contactListener);
_local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag));
if (_local12.m_manifoldCount == 0){
} else {
_local14 = _local5;
if (_local14.IsStatic()){
_local14 = _local6;
};
_local8.Clear();
_local15 = 0;
var _temp1 = _local15;
_local15 = (_local15 + 1);
var _local22 = _temp1;
_local10[_local22] = _local14;
_local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag);
while (_local15 > 0) {
--_local15;
_local2 = _local10[_local15];
_local8.AddBody(_local2);
_local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag));
if (_local2.IsStatic()){
} else {
_local7 = _local2.m_contactList;
while (_local7) {
if (_local8.m_contactCount == _local8.m_contactCapacity){
} else {
if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){
} else {
if (_local7.contact.m_manifoldCount == 0){
} else {
_local8.AddContact(_local7.contact);
_local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag);
_local20 = _local7.other;
if ((_local20.m_flags & b2Body.e_islandFlag)){
} else {
if (_local20.IsStatic() == false){
_local20.Advance(_local13);
_local20.WakeUp();
};
var _temp2 = _local15;
_local15 = (_local15 + 1);
var _local23 = _temp2;
_local10[_local23] = _local20;
_local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag);
};
};
};
};
_local7 = _local7.next;
};
};
};
_local16 = new b2TimeStep();
_local16.dt = ((1 - _local13) * _arg1.dt);
_local16.inv_dt = (1 / _local16.dt);
_local16.maxIterations = _arg1.maxIterations;
_local8.SolveTOI(_local16);
_local17 = 0;
while (_local17 < _local8.m_bodyCount) {
_local2 = _local8.m_bodies[_local17];
_local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag));
if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){
} else {
if (_local2.IsStatic()){
} else {
_local21 = _local2.SynchronizeShapes();
if ((((_local21 == false)) && (!((m_boundaryListener == null))))){
m_boundaryListener.Violation(_local2);
};
_local7 = _local2.m_contactList;
while (_local7) {
_local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag));
_local7 = _local7.next;
};
};
};
_local17++;
};
_local17 = 0;
while (_local17 < _local8.m_contactCount) {
_local11 = _local8.m_contacts[_local17];
_local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag)));
_local17++;
};
m_broadPhase.Commit();
};
};
}
public function GetJointList():b2Joint{
return (m_jointList);
}
public function Validate():void{
m_broadPhase.Validate();
}
public function SetGravity(_arg1:b2Vec2):void{
m_gravity = _arg1;
}
public function GetPairCount():int{
return (m_broadPhase.m_pairManager.m_pairCount);
}
public function GetBodyList():b2Body{
return (m_bodyList);
}
public function SetWarmStarting(_arg1:Boolean):void{
m_warmStarting = _arg1;
}
public function SetPositionCorrection(_arg1:Boolean):void{
m_positionCorrection = _arg1;
}
public function CreateJoint(_arg1:b2JointDef):b2Joint{
var _local3:b2Body;
var _local4:b2Shape;
var _local2:b2Joint = b2Joint.Create(_arg1, m_blockAllocator);
_local2.m_prev = null;
_local2.m_next = m_jointList;
if (m_jointList){
m_jointList.m_prev = _local2;
};
m_jointList = _local2;
m_jointCount++;
_local2.m_node1.joint = _local2;
_local2.m_node1.other = _local2.m_body2;
_local2.m_node1.prev = null;
_local2.m_node1.next = _local2.m_body1.m_jointList;
if (_local2.m_body1.m_jointList){
_local2.m_body1.m_jointList.prev = _local2.m_node1;
};
_local2.m_body1.m_jointList = _local2.m_node1;
_local2.m_node2.joint = _local2;
_local2.m_node2.other = _local2.m_body1;
_local2.m_node2.prev = null;
_local2.m_node2.next = _local2.m_body2.m_jointList;
if (_local2.m_body2.m_jointList){
_local2.m_body2.m_jointList.prev = _local2.m_node2;
};
_local2.m_body2.m_jointList = _local2.m_node2;
if (_arg1.collideConnected == false){
_local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2;
_local4 = _local3.m_shapeList;
while (_local4) {
_local4.RefilterProxy(m_broadPhase, _local3.m_xf);
_local4 = _local4.m_next;
};
};
return (_local2);
}
public function DestroyJoint(_arg1:b2Joint):void{
var _local5:b2Body;
var _local6:b2Shape;
var _local2:Boolean = _arg1.m_collideConnected;
if (_arg1.m_prev){
_arg1.m_prev.m_next = _arg1.m_next;
};
if (_arg1.m_next){
_arg1.m_next.m_prev = _arg1.m_prev;
};
if (_arg1 == m_jointList){
m_jointList = _arg1.m_next;
};
var _local3:b2Body = _arg1.m_body1;
var _local4:b2Body = _arg1.m_body2;
_local3.WakeUp();
_local4.WakeUp();
if (_arg1.m_node1.prev){
_arg1.m_node1.prev.next = _arg1.m_node1.next;
};
if (_arg1.m_node1.next){
_arg1.m_node1.next.prev = _arg1.m_node1.prev;
};
if (_arg1.m_node1 == _local3.m_jointList){
_local3.m_jointList = _arg1.m_node1.next;
};
_arg1.m_node1.prev = null;
_arg1.m_node1.next = null;
if (_arg1.m_node2.prev){
_arg1.m_node2.prev.next = _arg1.m_node2.next;
};
if (_arg1.m_node2.next){
_arg1.m_node2.next.prev = _arg1.m_node2.prev;
};
if (_arg1.m_node2 == _local4.m_jointList){
_local4.m_jointList = _arg1.m_node2.next;
};
_arg1.m_node2.prev = null;
_arg1.m_node2.next = null;
b2Joint.Destroy(_arg1, m_blockAllocator);
m_jointCount--;
if (_local2 == false){
_local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4;
_local6 = _local5.m_shapeList;
while (_local6) {
_local6.RefilterProxy(m_broadPhase, _local5.m_xf);
_local6 = _local6.m_next;
};
};
}
public function SetContactListener(_arg1:b2ContactListener):void{
m_contactListener = _arg1;
}
public function Raycast(_arg1:b2Segment, _arg2:Array, _arg3:int, _arg4:Boolean, _arg5):int{
var _local7:int;
var _local6:Array = new Array(_arg3);
m_raycastSegment = _arg1;
m_raycastUserData = _arg5;
if (_arg4){
_local7 = m_broadPhase.QuerySegment(_arg1, _local6, _arg3, RaycastSortKey);
} else {
_local7 = m_broadPhase.QuerySegment(_arg1, _local6, _arg3, RaycastSortKey2);
};
var _local8:int;
while (_local8 < _local7) {
_arg2[_local8] = _local6[_local8];
_local8++;
};
return (_local7);
}
public function RaycastSortKey2(_arg1:b2Shape):int{
if (((m_contactFilter) && (!(m_contactFilter.RayCollide(m_raycastUserData, _arg1))))){
return (-1);
};
var _local2:b2Body = _arg1.GetBody();
var _local3:b2XForm = _local2.GetXForm();
var _local4:Array = [0];
if (_arg1.TestSegment(_local3, _local4, m_raycastNormal, m_raycastSegment, 1) != b2Shape.e_hitCollide){
return (-1);
};
return (_local4[0]);
}
public function RaycastOne(_arg1:b2Segment, _arg2:Array, _arg3:b2Vec2, _arg4:Boolean, _arg5):b2Shape{
var _local6:Array = new Array(1);
var _local7:Number = Raycast(_arg1, _local6, 1, _arg4, _arg5);
if (_local7 == 0){
return (null);
};
if (_local7 > 1){
trace(_local7);
};
var _local8:b2Shape = _local6[0];
var _local9:b2XForm = _local8.GetBody().GetXForm();
_local8.TestSegment(_local9, _arg2, _arg3, _arg1, 1);
return (_local8);
}
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 RaycastSortKey(_arg1:b2Shape):int{
if (((m_contactFilter) && (!(m_contactFilter.RayCollide(m_raycastUserData, _arg1))))){
return (-1);
};
var _local2:b2Body = _arg1.GetBody();
var _local3:b2XForm = _local2.GetXForm();
var _local4:Array = [0];
if (_arg1.TestSegment(_local3, _local4, m_raycastNormal, m_raycastSegment, 1) == b2Shape.e_missCollide){
return (-1);
};
return (_local4[0]);
}
public function SetBoundaryListener(_arg1:b2BoundaryListener):void{
m_boundaryListener = _arg1;
}
public function SetDestructionListener(_arg1:b2DestructionListener):void{
m_destructionListener = _arg1;
}
public function Step(_arg1:Number, _arg2:int):void{
m_lock = true;
var _local3:b2TimeStep = new b2TimeStep();
_local3.dt = _arg1;
_local3.maxIterations = _arg2;
if (_arg1 > 0){
_local3.inv_dt = (1 / _arg1);
} else {
_local3.inv_dt = 0;
};
_local3.dtRatio = (m_inv_dt0 * _arg1);
_local3.positionCorrection = m_positionCorrection;
_local3.warmStarting = m_warmStarting;
m_contactManager.Collide();
if (_local3.dt > 0){
Solve(_local3);
};
if (((m_continuousPhysics) && ((_local3.dt > 0)))){
SolveTOI(_local3);
};
DrawDebugData();
m_inv_dt0 = _local3.inv_dt;
m_lock = false;
}
public function GetBodyCount():int{
return (m_bodyCount);
}
public function GetJointCount():int{
return (m_jointCount);
}
}
}//package Box2D.Dynamics
Section 75
//ResourceEmbedding (generated.ResourceEmbedding)
package generated {
import genius.resource.*;
import genius.util.*;
public class ResourceEmbedding {
private static const resource0400:Class = ResourceEmbedding_resource0400;
private static const resource0401:Class = ResourceEmbedding_resource0401;
private static const resource0402:Class = ResourceEmbedding_resource0402;
private static const resource0403:Class = ResourceEmbedding_resource0403;
private static const resource0404:Class = ResourceEmbedding_resource0404;
private static const resource0405:Class = ResourceEmbedding_resource0405;
private static const resource0406:Class = ResourceEmbedding_resource0406;
private static const resource0407:Class = ResourceEmbedding_resource0407;
private static const resource0408:Class = ResourceEmbedding_resource0408;
private static const resource0409:Class = ResourceEmbedding_resource0409;
private static const resource0410:Class = ResourceEmbedding_resource0410;
private static const resource0412:Class = ResourceEmbedding_resource0412;
private static const resource0414:Class = ResourceEmbedding_resource0414;
private static const resource0416:Class = ResourceEmbedding_resource0416;
private static const resource0417:Class = ResourceEmbedding_resource0417;
private static const resource0411:Class = ResourceEmbedding_resource0411;
private static const resource0419:Class = ResourceEmbedding_resource0419;
private static const resource0413:Class = ResourceEmbedding_resource0413;
private static const resource0415:Class = ResourceEmbedding_resource0415;
private static const resource0418:Class = ResourceEmbedding_resource0418;
private static const resource0420:Class = ResourceEmbedding_resource0420;
private static const resource0421:Class = ResourceEmbedding_resource0421;
private static const resource0422:Class = ResourceEmbedding_resource0422;
private static const resource0423:Class = ResourceEmbedding_resource0423;
private static const resource0424:Class = ResourceEmbedding_resource0424;
private static const resource0425:Class = ResourceEmbedding_resource0425;
private static const resource0426:Class = ResourceEmbedding_resource0426;
private static const resource0427:Class = ResourceEmbedding_resource0427;
private static const resource0428:Class = ResourceEmbedding_resource0428;
private static const resource0429:Class = ResourceEmbedding_resource0429;
private static const resource0430:Class = ResourceEmbedding_resource0430;
private static const resource0432:Class = ResourceEmbedding_resource0432;
private static const resource0434:Class = ResourceEmbedding_resource0434;
private static const resource0436:Class = ResourceEmbedding_resource0436;
private static const resource0437:Class = ResourceEmbedding_resource0437;
private static const resource0431:Class = ResourceEmbedding_resource0431;
private static const resource0439:Class = ResourceEmbedding_resource0439;
private static const resource0433:Class = ResourceEmbedding_resource0433;
private static const resource0435:Class = ResourceEmbedding_resource0435;
private static const resource0438:Class = ResourceEmbedding_resource0438;
private static const resource0440:Class = ResourceEmbedding_resource0440;
private static const resource0441:Class = ResourceEmbedding_resource0441;
private static const resource0200:Class = ResourceEmbedding_resource0200;
private static const resource0201:Class = ResourceEmbedding_resource0201;
private static const resource0202:Class = ResourceEmbedding_resource0202;
private static const resource0203:Class = ResourceEmbedding_resource0203;
private static const resource0204:Class = ResourceEmbedding_resource0204;
private static const resource0205:Class = ResourceEmbedding_resource0205;
private static const resource0206:Class = ResourceEmbedding_resource0206;
private static const resource0207:Class = ResourceEmbedding_resource0207;
private static const resource0208:Class = ResourceEmbedding_resource0208;
private static const resource0209:Class = ResourceEmbedding_resource0209;
private static const resource0445:Class = ResourceEmbedding_resource0445;
private static const resource0446:Class = ResourceEmbedding_resource0446;
private static const resource0447:Class = ResourceEmbedding_resource0447;
private static const resource0448:Class = ResourceEmbedding_resource0448;
private static const resource0449:Class = ResourceEmbedding_resource0449;
private static const resource0442:Class = ResourceEmbedding_resource0442;
private static const resource0444:Class = ResourceEmbedding_resource0444;
private static const resource0210:Class = ResourceEmbedding_resource0210;
private static const resource0211:Class = ResourceEmbedding_resource0211;
private static const resource0212:Class = ResourceEmbedding_resource0212;
private static const resource0213:Class = ResourceEmbedding_resource0213;
private static const resource0214:Class = ResourceEmbedding_resource0214;
private static const resource0215:Class = ResourceEmbedding_resource0215;
private static const resource0216:Class = ResourceEmbedding_resource0216;
private static const resource0217:Class = ResourceEmbedding_resource0217;
private static const resource0218:Class = ResourceEmbedding_resource0218;
private static const resource0219:Class = ResourceEmbedding_resource0219;
private static const resource0456:Class = ResourceEmbedding_resource0456;
private static const resource0450:Class = ResourceEmbedding_resource0450;
private static const resource0443:Class = ResourceEmbedding_resource0443;
private static const resource0457:Class = ResourceEmbedding_resource0457;
private static const resource0459:Class = ResourceEmbedding_resource0459;
private static const resource0451:Class = ResourceEmbedding_resource0451;
private static const resource0452:Class = ResourceEmbedding_resource0452;
private static const resource0454:Class = ResourceEmbedding_resource0454;
private static const resource0455:Class = ResourceEmbedding_resource0455;
private static const resource0460:Class = ResourceEmbedding_resource0460;
private static const resource0458:Class = ResourceEmbedding_resource0458;
private static const resource0220:Class = ResourceEmbedding_resource0220;
private static const resource0221:Class = ResourceEmbedding_resource0221;
private static const resource0222:Class = ResourceEmbedding_resource0222;
private static const resource0223:Class = ResourceEmbedding_resource0223;
private static const resource0224:Class = ResourceEmbedding_resource0224;
private static const resource0225:Class = ResourceEmbedding_resource0225;
private static const resource0226:Class = ResourceEmbedding_resource0226;
private static const resource0227:Class = ResourceEmbedding_resource0227;
private static const resource0228:Class = ResourceEmbedding_resource0228;
private static const resource0229:Class = ResourceEmbedding_resource0229;
private static const resource0465:Class = ResourceEmbedding_resource0465;
private static const resource0466:Class = ResourceEmbedding_resource0466;
private static const resource0467:Class = ResourceEmbedding_resource0467;
private static const resource0468:Class = ResourceEmbedding_resource0468;
private static const resource0461:Class = ResourceEmbedding_resource0461;
private static const resource0453:Class = ResourceEmbedding_resource0453;
private static const resource0464:Class = ResourceEmbedding_resource0464;
private static const resource0230:Class = ResourceEmbedding_resource0230;
private static const resource0231:Class = ResourceEmbedding_resource0231;
private static const resource0232:Class = ResourceEmbedding_resource0232;
private static const resource0233:Class = ResourceEmbedding_resource0233;
private static const resource0234:Class = ResourceEmbedding_resource0234;
private static const resource0235:Class = ResourceEmbedding_resource0235;
private static const resource0236:Class = ResourceEmbedding_resource0236;
private static const resource0237:Class = ResourceEmbedding_resource0237;
private static const resource0238:Class = ResourceEmbedding_resource0238;
private static const resource0239:Class = ResourceEmbedding_resource0239;
private static const resource0476:Class = ResourceEmbedding_resource0476;
private static const resource0470:Class = ResourceEmbedding_resource0470;
private static const resource0463:Class = ResourceEmbedding_resource0463;
private static const resource0477:Class = ResourceEmbedding_resource0477;
private static const resource0479:Class = ResourceEmbedding_resource0479;
private static const resource0471:Class = ResourceEmbedding_resource0471;
private static const resource0472:Class = ResourceEmbedding_resource0472;
private static const resource0462:Class = ResourceEmbedding_resource0462;
private static const resource0475:Class = ResourceEmbedding_resource0475;
private static const resource0480:Class = ResourceEmbedding_resource0480;
private static const resource0478:Class = ResourceEmbedding_resource0478;
private static const resource0240:Class = ResourceEmbedding_resource0240;
private static const resource0241:Class = ResourceEmbedding_resource0241;
private static const resource0000:Class = ResourceEmbedding_resource0000;
private static const resource0001:Class = ResourceEmbedding_resource0001;
private static const resource0002:Class = ResourceEmbedding_resource0002;
private static const resource0003:Class = ResourceEmbedding_resource0003;
private static const resource0004:Class = ResourceEmbedding_resource0004;
private static const resource0005:Class = ResourceEmbedding_resource0005;
private static const resource0006:Class = ResourceEmbedding_resource0006;
private static const resource0007:Class = ResourceEmbedding_resource0007;
private static const resource0008:Class = ResourceEmbedding_resource0008;
private static const resource0009:Class = ResourceEmbedding_resource0009;
private static const resource0245:Class = ResourceEmbedding_resource0245;
private static const resource0246:Class = ResourceEmbedding_resource0246;
private static const resource0247:Class = ResourceEmbedding_resource0247;
private static const resource0248:Class = ResourceEmbedding_resource0248;
private static const resource0249:Class = ResourceEmbedding_resource0249;
private static const resource0242:Class = ResourceEmbedding_resource0242;
private static const resource0243:Class = ResourceEmbedding_resource0243;
private static const resource0244:Class = ResourceEmbedding_resource0244;
private static const resource0488:Class = ResourceEmbedding_resource0488;
private static const resource0250:Class = ResourceEmbedding_resource0250;
private static const resource0010:Class = ResourceEmbedding_resource0010;
private static const resource0011:Class = ResourceEmbedding_resource0011;
private static const resource0012:Class = ResourceEmbedding_resource0012;
private static const resource0013:Class = ResourceEmbedding_resource0013;
private static const resource0014:Class = ResourceEmbedding_resource0014;
private static const resource0015:Class = ResourceEmbedding_resource0015;
private static const resource0016:Class = ResourceEmbedding_resource0016;
private static const resource0017:Class = ResourceEmbedding_resource0017;
private static const resource0018:Class = ResourceEmbedding_resource0018;
private static const resource0019:Class = ResourceEmbedding_resource0019;
private static const resource0256:Class = ResourceEmbedding_resource0256;
private static const resource0258:Class = ResourceEmbedding_resource0258;
private static const resource0259:Class = ResourceEmbedding_resource0259;
private static const resource0252:Class = ResourceEmbedding_resource0252;
private static const resource0254:Class = ResourceEmbedding_resource0254;
private static const resource0255:Class = ResourceEmbedding_resource0255;
private static const resource0257:Class = ResourceEmbedding_resource0257;
private static const resource0474:Class = ResourceEmbedding_resource0474;
private static const resource0251:Class = ResourceEmbedding_resource0251;
private static const resource0482:Class = ResourceEmbedding_resource0482;
private static const resource0253:Class = ResourceEmbedding_resource0253;
private static const resource0484:Class = ResourceEmbedding_resource0484;
private static const resource0486:Class = ResourceEmbedding_resource0486;
private static const resource0260:Class = ResourceEmbedding_resource0260;
private static const resource0261:Class = ResourceEmbedding_resource0261;
private static const resource0020:Class = ResourceEmbedding_resource0020;
private static const resource0021:Class = ResourceEmbedding_resource0021;
private static const resource0022:Class = ResourceEmbedding_resource0022;
private static const resource0023:Class = ResourceEmbedding_resource0023;
private static const resource0024:Class = ResourceEmbedding_resource0024;
private static const resource0025:Class = ResourceEmbedding_resource0025;
private static const resource0026:Class = ResourceEmbedding_resource0026;
private static const resource0027:Class = ResourceEmbedding_resource0027;
private static const resource0028:Class = ResourceEmbedding_resource0028;
private static const resource0029:Class = ResourceEmbedding_resource0029;
private static const resource0265:Class = ResourceEmbedding_resource0265;
private static const resource0266:Class = ResourceEmbedding_resource0266;
private static const resource0267:Class = ResourceEmbedding_resource0267;
private static const resource0268:Class = ResourceEmbedding_resource0268;
private static const resource0269:Class = ResourceEmbedding_resource0269;
private static const resource0262:Class = ResourceEmbedding_resource0262;
private static const resource0263:Class = ResourceEmbedding_resource0263;
private static const resource0264:Class = ResourceEmbedding_resource0264;
private static const resource0270:Class = ResourceEmbedding_resource0270;
private static const resource0030:Class = ResourceEmbedding_resource0030;
private static const resource0031:Class = ResourceEmbedding_resource0031;
private static const resource0032:Class = ResourceEmbedding_resource0032;
private static const resource0033:Class = ResourceEmbedding_resource0033;
private static const resource0034:Class = ResourceEmbedding_resource0034;
private static const resource0035:Class = ResourceEmbedding_resource0035;
private static const resource0036:Class = ResourceEmbedding_resource0036;
private static const resource0037:Class = ResourceEmbedding_resource0037;
private static const resource0038:Class = ResourceEmbedding_resource0038;
private static const resource0039:Class = ResourceEmbedding_resource0039;
private static const resource0276:Class = ResourceEmbedding_resource0276;
private static const resource0278:Class = ResourceEmbedding_resource0278;
private static const resource0279:Class = ResourceEmbedding_resource0279;
private static const resource0272:Class = ResourceEmbedding_resource0272;
private static const resource0274:Class = ResourceEmbedding_resource0274;
private static const resource0275:Class = ResourceEmbedding_resource0275;
private static const resource0277:Class = ResourceEmbedding_resource0277;
private static const resource0271:Class = ResourceEmbedding_resource0271;
private static const resource0273:Class = ResourceEmbedding_resource0273;
private static const resource0280:Class = ResourceEmbedding_resource0280;
private static const resource0281:Class = ResourceEmbedding_resource0281;
private static const resource0040:Class = ResourceEmbedding_resource0040;
private static const resource0041:Class = ResourceEmbedding_resource0041;
private static const resource0042:Class = ResourceEmbedding_resource0042;
private static const resource0043:Class = ResourceEmbedding_resource0043;
private static const resource0044:Class = ResourceEmbedding_resource0044;
private static const resource0045:Class = ResourceEmbedding_resource0045;
private static const resource0046:Class = ResourceEmbedding_resource0046;
private static const resource0047:Class = ResourceEmbedding_resource0047;
private static const resource0048:Class = ResourceEmbedding_resource0048;
private static const resource0049:Class = ResourceEmbedding_resource0049;
private static const resource0285:Class = ResourceEmbedding_resource0285;
private static const resource0286:Class = ResourceEmbedding_resource0286;
private static const resource0287:Class = ResourceEmbedding_resource0287;
private static const resource0288:Class = ResourceEmbedding_resource0288;
private static const resource0289:Class = ResourceEmbedding_resource0289;
private static const resource0282:Class = ResourceEmbedding_resource0282;
private static const resource0283:Class = ResourceEmbedding_resource0283;
private static const resource0050:Class = ResourceEmbedding_resource0050;
private static const resource0051:Class = ResourceEmbedding_resource0051;
private static const resource0052:Class = ResourceEmbedding_resource0052;
private static const resource0053:Class = ResourceEmbedding_resource0053;
private static const resource0054:Class = ResourceEmbedding_resource0054;
private static const resource0055:Class = ResourceEmbedding_resource0055;
private static const resource0056:Class = ResourceEmbedding_resource0056;
private static const resource0057:Class = ResourceEmbedding_resource0057;
private static const resource0058:Class = ResourceEmbedding_resource0058;
private static const resource0059:Class = ResourceEmbedding_resource0059;
private static const resource0290:Class = ResourceEmbedding_resource0290;
private static const resource0292:Class = ResourceEmbedding_resource0292;
private static const resource0299:Class = ResourceEmbedding_resource0299;
private static const resource0294:Class = ResourceEmbedding_resource0294;
private static const resource0295:Class = ResourceEmbedding_resource0295;
private static const resource0296:Class = ResourceEmbedding_resource0296;
private static const resource0297:Class = ResourceEmbedding_resource0297;
private static const resource0298:Class = ResourceEmbedding_resource0298;
private static const resource0060:Class = ResourceEmbedding_resource0060;
private static const resource0061:Class = ResourceEmbedding_resource0061;
private static const resource0062:Class = ResourceEmbedding_resource0062;
private static const resource0063:Class = ResourceEmbedding_resource0063;
private static const resource0064:Class = ResourceEmbedding_resource0064;
private static const resource0065:Class = ResourceEmbedding_resource0065;
private static const resource0066:Class = ResourceEmbedding_resource0066;
private static const resource0067:Class = ResourceEmbedding_resource0067;
private static const resource0068:Class = ResourceEmbedding_resource0068;
private static const resource0069:Class = ResourceEmbedding_resource0069;
private static const resource0284:Class = ResourceEmbedding_resource0284;
private static const resource0469:Class = ResourceEmbedding_resource0469;
private static const resource0291:Class = ResourceEmbedding_resource0291;
private static const resource0293:Class = ResourceEmbedding_resource0293;
private static const resource0070:Class = ResourceEmbedding_resource0070;
private static const resource0071:Class = ResourceEmbedding_resource0071;
private static const resource0072:Class = ResourceEmbedding_resource0072;
private static const resource0073:Class = ResourceEmbedding_resource0073;
private static const resource0074:Class = ResourceEmbedding_resource0074;
private static const resource0075:Class = ResourceEmbedding_resource0075;
private static const resource0076:Class = ResourceEmbedding_resource0076;
private static const resource0077:Class = ResourceEmbedding_resource0077;
private static const resource0078:Class = ResourceEmbedding_resource0078;
private static const resource0079:Class = ResourceEmbedding_resource0079;
private static const resource0080:Class = ResourceEmbedding_resource0080;
private static const resource0081:Class = ResourceEmbedding_resource0081;
private static const resource0082:Class = ResourceEmbedding_resource0082;
private static const resource0083:Class = ResourceEmbedding_resource0083;
private static const resource0084:Class = ResourceEmbedding_resource0084;
private static const resource0085:Class = ResourceEmbedding_resource0085;
private static const resource0086:Class = ResourceEmbedding_resource0086;
private static const resource0087:Class = ResourceEmbedding_resource0087;
private static const resource0088:Class = ResourceEmbedding_resource0088;
private static const resource0089:Class = ResourceEmbedding_resource0089;
private static const resource0487:Class = ResourceEmbedding_resource0487;
private static const resource0489:Class = ResourceEmbedding_resource0489;
private static const resource0090:Class = ResourceEmbedding_resource0090;
private static const resource0092:Class = ResourceEmbedding_resource0092;
private static const resource0094:Class = ResourceEmbedding_resource0094;
private static const resource0096:Class = ResourceEmbedding_resource0096;
private static const resource0098:Class = ResourceEmbedding_resource0098;
private static const resource0093:Class = ResourceEmbedding_resource0093;
private static const resource0095:Class = ResourceEmbedding_resource0095;
private static const resource0097:Class = ResourceEmbedding_resource0097;
private static const resource0099:Class = ResourceEmbedding_resource0099;
private static const resource0091:Class = ResourceEmbedding_resource0091;
private static const resource0485:Class = ResourceEmbedding_resource0485;
private static const resource0473:Class = ResourceEmbedding_resource0473;
private static const resource0491:Class = ResourceEmbedding_resource0491;
private static const resource0483:Class = ResourceEmbedding_resource0483;
private static const resource0493:Class = ResourceEmbedding_resource0493;
private static const resource0494:Class = ResourceEmbedding_resource0494;
private static const resource0495:Class = ResourceEmbedding_resource0495;
private static const resource0496:Class = ResourceEmbedding_resource0496;
private static const resource0497:Class = ResourceEmbedding_resource0497;
private static const resource0481:Class = ResourceEmbedding_resource0481;
private static const resource0498:Class = ResourceEmbedding_resource0498;
private static const resource0499:Class = ResourceEmbedding_resource0499;
public static const WAIT:String = "WAIT";
private static const resource0490:Class = ResourceEmbedding_resource0490;
private static const resource0492:Class = ResourceEmbedding_resource0492;
public static const enabled:Boolean = true;
public static const DONE:String = "DONE";
private static const resource0500:Class = ResourceEmbedding_resource0500;
private static const resource0508:Class = ResourceEmbedding_resource0508;
private static const resource0502:Class = ResourceEmbedding_resource0502;
private static const resource0504:Class = ResourceEmbedding_resource0504;
private static const resource0505:Class = ResourceEmbedding_resource0505;
private static const resource0506:Class = ResourceEmbedding_resource0506;
private static const resource0507:Class = ResourceEmbedding_resource0507;
private static const resource0509:Class = ResourceEmbedding_resource0509;
private static const resource0501:Class = ResourceEmbedding_resource0501;
private static const resource0503:Class = ResourceEmbedding_resource0503;
private static const resource0510:Class = ResourceEmbedding_resource0510;
private static const resource0511:Class = ResourceEmbedding_resource0511;
private static const resource0512:Class = ResourceEmbedding_resource0512;
private static const resource0513:Class = ResourceEmbedding_resource0513;
private static const resource0514:Class = ResourceEmbedding_resource0514;
private static const resource0515:Class = ResourceEmbedding_resource0515;
private static const resource0516:Class = ResourceEmbedding_resource0516;
private static const resource0517:Class = ResourceEmbedding_resource0517;
private static const resource0518:Class = ResourceEmbedding_resource0518;
private static const resource0519:Class = ResourceEmbedding_resource0519;
private static const resource0520:Class = ResourceEmbedding_resource0520;
private static const resource0522:Class = ResourceEmbedding_resource0522;
private static const resource0524:Class = ResourceEmbedding_resource0524;
private static const resource0526:Class = ResourceEmbedding_resource0526;
private static const resource0521:Class = ResourceEmbedding_resource0521;
private static const resource0523:Class = ResourceEmbedding_resource0523;
private static const resource0525:Class = ResourceEmbedding_resource0525;
private static const resource0527:Class = ResourceEmbedding_resource0527;
private static const resource0528:Class = ResourceEmbedding_resource0528;
private static const resource0529:Class = ResourceEmbedding_resource0529;
private static const resource0530:Class = ResourceEmbedding_resource0530;
private static const resource0531:Class = ResourceEmbedding_resource0531;
private static const resource0532:Class = ResourceEmbedding_resource0532;
private static const resource0533:Class = ResourceEmbedding_resource0533;
private static const resource0534:Class = ResourceEmbedding_resource0534;
private static const resource0535:Class = ResourceEmbedding_resource0535;
private static const resource0536:Class = ResourceEmbedding_resource0536;
private static const resource0537:Class = ResourceEmbedding_resource0537;
private static const resource0538:Class = ResourceEmbedding_resource0538;
private static const resource0539:Class = ResourceEmbedding_resource0539;
private static const resource0540:Class = ResourceEmbedding_resource0540;
private static const resource0300:Class = ResourceEmbedding_resource0300;
private static const resource0302:Class = ResourceEmbedding_resource0302;
private static const resource0304:Class = ResourceEmbedding_resource0304;
private static const resource0306:Class = ResourceEmbedding_resource0306;
private static const resource0301:Class = ResourceEmbedding_resource0301;
private static const resource0303:Class = ResourceEmbedding_resource0303;
private static const resource0305:Class = ResourceEmbedding_resource0305;
private static const resource0548:Class = ResourceEmbedding_resource0548;
private static const resource0307:Class = ResourceEmbedding_resource0307;
private static const resource0308:Class = ResourceEmbedding_resource0308;
private static const resource0309:Class = ResourceEmbedding_resource0309;
private static const resource0544:Class = ResourceEmbedding_resource0544;
private static const resource0545:Class = ResourceEmbedding_resource0545;
private static const resource0546:Class = ResourceEmbedding_resource0546;
private static const resource0547:Class = ResourceEmbedding_resource0547;
private static const resource0549:Class = ResourceEmbedding_resource0549;
private static const resource0541:Class = ResourceEmbedding_resource0541;
private static const resource0542:Class = ResourceEmbedding_resource0542;
private static const resource0543:Class = ResourceEmbedding_resource0543;
private static const resource0550:Class = ResourceEmbedding_resource0550;
private static const resource0551:Class = ResourceEmbedding_resource0551;
private static const resource0310:Class = ResourceEmbedding_resource0310;
private static const resource0311:Class = ResourceEmbedding_resource0311;
private static const resource0312:Class = ResourceEmbedding_resource0312;
private static const resource0313:Class = ResourceEmbedding_resource0313;
private static const resource0314:Class = ResourceEmbedding_resource0314;
private static const resource0315:Class = ResourceEmbedding_resource0315;
private static const resource0316:Class = ResourceEmbedding_resource0316;
private static const resource0317:Class = ResourceEmbedding_resource0317;
private static const resource0318:Class = ResourceEmbedding_resource0318;
private static const resource0319:Class = ResourceEmbedding_resource0319;
private static const resource0555:Class = ResourceEmbedding_resource0555;
private static const resource0556:Class = ResourceEmbedding_resource0556;
private static const resource0557:Class = ResourceEmbedding_resource0557;
private static const resource0558:Class = ResourceEmbedding_resource0558;
private static const resource0559:Class = ResourceEmbedding_resource0559;
private static const resource0552:Class = ResourceEmbedding_resource0552;
private static const resource0553:Class = ResourceEmbedding_resource0553;
private static const resource0554:Class = ResourceEmbedding_resource0554;
private static const resource0560:Class = ResourceEmbedding_resource0560;
private static const resource0561:Class = ResourceEmbedding_resource0561;
private static const resource0320:Class = ResourceEmbedding_resource0320;
private static const resource0321:Class = ResourceEmbedding_resource0321;
private static const resource0322:Class = ResourceEmbedding_resource0322;
private static const resource0323:Class = ResourceEmbedding_resource0323;
private static const resource0324:Class = ResourceEmbedding_resource0324;
private static const resource0325:Class = ResourceEmbedding_resource0325;
private static const resource0326:Class = ResourceEmbedding_resource0326;
private static const resource0327:Class = ResourceEmbedding_resource0327;
private static const resource0328:Class = ResourceEmbedding_resource0328;
private static const resource0329:Class = ResourceEmbedding_resource0329;
private static const resource0565:Class = ResourceEmbedding_resource0565;
private static const resource0566:Class = ResourceEmbedding_resource0566;
private static const resource0562:Class = ResourceEmbedding_resource0562;
private static const resource0563:Class = ResourceEmbedding_resource0563;
private static const resource0564:Class = ResourceEmbedding_resource0564;
private static const resource0330:Class = ResourceEmbedding_resource0330;
private static const resource0331:Class = ResourceEmbedding_resource0331;
private static const resource0332:Class = ResourceEmbedding_resource0332;
private static const resource0333:Class = ResourceEmbedding_resource0333;
private static const resource0334:Class = ResourceEmbedding_resource0334;
private static const resource0335:Class = ResourceEmbedding_resource0335;
private static const resource0336:Class = ResourceEmbedding_resource0336;
private static const resource0337:Class = ResourceEmbedding_resource0337;
private static const resource0338:Class = ResourceEmbedding_resource0338;
private static const resource0339:Class = ResourceEmbedding_resource0339;
private static const resource0340:Class = ResourceEmbedding_resource0340;
private static const resource0341:Class = ResourceEmbedding_resource0341;
private static const resource0100:Class = ResourceEmbedding_resource0100;
private static const resource0101:Class = ResourceEmbedding_resource0101;
private static const resource0102:Class = ResourceEmbedding_resource0102;
private static const resource0103:Class = ResourceEmbedding_resource0103;
private static const resource0104:Class = ResourceEmbedding_resource0104;
private static const resource0105:Class = ResourceEmbedding_resource0105;
private static const resource0106:Class = ResourceEmbedding_resource0106;
private static const resource0107:Class = ResourceEmbedding_resource0107;
private static const resource0108:Class = ResourceEmbedding_resource0108;
private static const resource0109:Class = ResourceEmbedding_resource0109;
private static const resource0345:Class = ResourceEmbedding_resource0345;
private static const resource0346:Class = ResourceEmbedding_resource0346;
private static const resource0347:Class = ResourceEmbedding_resource0347;
private static const resource0348:Class = ResourceEmbedding_resource0348;
private static const resource0349:Class = ResourceEmbedding_resource0349;
private static const resource0342:Class = ResourceEmbedding_resource0342;
private static const resource0343:Class = ResourceEmbedding_resource0343;
private static const resource0344:Class = ResourceEmbedding_resource0344;
private static const resource0350:Class = ResourceEmbedding_resource0350;
private static const resource0351:Class = ResourceEmbedding_resource0351;
private static const resource0110:Class = ResourceEmbedding_resource0110;
private static const resource0111:Class = ResourceEmbedding_resource0111;
private static const resource0112:Class = ResourceEmbedding_resource0112;
private static const resource0113:Class = ResourceEmbedding_resource0113;
private static const resource0114:Class = ResourceEmbedding_resource0114;
private static const resource0115:Class = ResourceEmbedding_resource0115;
private static const resource0116:Class = ResourceEmbedding_resource0116;
private static const resource0117:Class = ResourceEmbedding_resource0117;
private static const resource0118:Class = ResourceEmbedding_resource0118;
private static const resource0119:Class = ResourceEmbedding_resource0119;
private static const resource0355:Class = ResourceEmbedding_resource0355;
private static const resource0356:Class = ResourceEmbedding_resource0356;
private static const resource0357:Class = ResourceEmbedding_resource0357;
private static const resource0358:Class = ResourceEmbedding_resource0358;
private static const resource0359:Class = ResourceEmbedding_resource0359;
private static const resource0352:Class = ResourceEmbedding_resource0352;
private static const resource0353:Class = ResourceEmbedding_resource0353;
private static const resource0354:Class = ResourceEmbedding_resource0354;
private static const resource0360:Class = ResourceEmbedding_resource0360;
private static const resource0361:Class = ResourceEmbedding_resource0361;
private static const resource0120:Class = ResourceEmbedding_resource0120;
private static const resource0121:Class = ResourceEmbedding_resource0121;
private static const resource0122:Class = ResourceEmbedding_resource0122;
private static const resource0123:Class = ResourceEmbedding_resource0123;
private static const resource0124:Class = ResourceEmbedding_resource0124;
private static const resource0125:Class = ResourceEmbedding_resource0125;
private static const resource0126:Class = ResourceEmbedding_resource0126;
private static const resource0127:Class = ResourceEmbedding_resource0127;
private static const resource0128:Class = ResourceEmbedding_resource0128;
private static const resource0129:Class = ResourceEmbedding_resource0129;
private static const resource0365:Class = ResourceEmbedding_resource0365;
private static const resource0366:Class = ResourceEmbedding_resource0366;
private static const resource0367:Class = ResourceEmbedding_resource0367;
private static const resource0368:Class = ResourceEmbedding_resource0368;
private static const resource0369:Class = ResourceEmbedding_resource0369;
private static const resource0362:Class = ResourceEmbedding_resource0362;
private static const resource0363:Class = ResourceEmbedding_resource0363;
private static const resource0364:Class = ResourceEmbedding_resource0364;
private static const resource0370:Class = ResourceEmbedding_resource0370;
private static const resource0371:Class = ResourceEmbedding_resource0371;
private static const resource0130:Class = ResourceEmbedding_resource0130;
private static const resource0131:Class = ResourceEmbedding_resource0131;
private static const resource0132:Class = ResourceEmbedding_resource0132;
private static const resource0133:Class = ResourceEmbedding_resource0133;
private static const resource0134:Class = ResourceEmbedding_resource0134;
private static const resource0135:Class = ResourceEmbedding_resource0135;
private static const resource0136:Class = ResourceEmbedding_resource0136;
private static const resource0137:Class = ResourceEmbedding_resource0137;
private static const resource0138:Class = ResourceEmbedding_resource0138;
private static const resource0139:Class = ResourceEmbedding_resource0139;
private static const resource0375:Class = ResourceEmbedding_resource0375;
private static const resource0376:Class = ResourceEmbedding_resource0376;
private static const resource0377:Class = ResourceEmbedding_resource0377;
private static const resource0378:Class = ResourceEmbedding_resource0378;
private static const resource0379:Class = ResourceEmbedding_resource0379;
private static const resource0372:Class = ResourceEmbedding_resource0372;
private static const resource0373:Class = ResourceEmbedding_resource0373;
private static const resource0374:Class = ResourceEmbedding_resource0374;
private static const resource0380:Class = ResourceEmbedding_resource0380;
private static const resource0381:Class = ResourceEmbedding_resource0381;
private static const resource0140:Class = ResourceEmbedding_resource0140;
private static const resource0141:Class = ResourceEmbedding_resource0141;
private static const resource0142:Class = ResourceEmbedding_resource0142;
private static const resource0143:Class = ResourceEmbedding_resource0143;
private static const resource0144:Class = ResourceEmbedding_resource0144;
private static const resource0145:Class = ResourceEmbedding_resource0145;
private static const resource0146:Class = ResourceEmbedding_resource0146;
private static const resource0147:Class = ResourceEmbedding_resource0147;
private static const resource0148:Class = ResourceEmbedding_resource0148;
private static const resource0149:Class = ResourceEmbedding_resource0149;
private static const resource0385:Class = ResourceEmbedding_resource0385;
private static const resource0386:Class = ResourceEmbedding_resource0386;
private static const resource0387:Class = ResourceEmbedding_resource0387;
private static const resource0388:Class = ResourceEmbedding_resource0388;
private static const resource0389:Class = ResourceEmbedding_resource0389;
private static const resource0382:Class = ResourceEmbedding_resource0382;
private static const resource0383:Class = ResourceEmbedding_resource0383;
private static const resource0384:Class = ResourceEmbedding_resource0384;
private static const resource0390:Class = ResourceEmbedding_resource0390;
private static const resource0391:Class = ResourceEmbedding_resource0391;
private static const resource0150:Class = ResourceEmbedding_resource0150;
private static const resource0151:Class = ResourceEmbedding_resource0151;
private static const resource0152:Class = ResourceEmbedding_resource0152;
private static const resource0153:Class = ResourceEmbedding_resource0153;
private static const resource0154:Class = ResourceEmbedding_resource0154;
private static const resource0155:Class = ResourceEmbedding_resource0155;
private static const resource0156:Class = ResourceEmbedding_resource0156;
private static const resource0157:Class = ResourceEmbedding_resource0157;
private static const resource0158:Class = ResourceEmbedding_resource0158;
private static const resource0159:Class = ResourceEmbedding_resource0159;
private static const resource0395:Class = ResourceEmbedding_resource0395;
private static const resource0396:Class = ResourceEmbedding_resource0396;
private static const resource0397:Class = ResourceEmbedding_resource0397;
private static const resource0398:Class = ResourceEmbedding_resource0398;
private static const resource0399:Class = ResourceEmbedding_resource0399;
private static const resource0392:Class = ResourceEmbedding_resource0392;
private static const resource0393:Class = ResourceEmbedding_resource0393;
private static const resource0394:Class = ResourceEmbedding_resource0394;
private static const resource0160:Class = ResourceEmbedding_resource0160;
private static const resource0161:Class = ResourceEmbedding_resource0161;
private static const resource0162:Class = ResourceEmbedding_resource0162;
private static const resource0163:Class = ResourceEmbedding_resource0163;
private static const resource0164:Class = ResourceEmbedding_resource0164;
private static const resource0165:Class = ResourceEmbedding_resource0165;
private static const resource0166:Class = ResourceEmbedding_resource0166;
private static const resource0167:Class = ResourceEmbedding_resource0167;
private static const resource0168:Class = ResourceEmbedding_resource0168;
private static const resource0169:Class = ResourceEmbedding_resource0169;
private static const resource0170:Class = ResourceEmbedding_resource0170;
private static const resource0171:Class = ResourceEmbedding_resource0171;
private static const resource0172:Class = ResourceEmbedding_resource0172;
private static const resource0173:Class = ResourceEmbedding_resource0173;
private static const resource0174:Class = ResourceEmbedding_resource0174;
private static const resource0175:Class = ResourceEmbedding_resource0175;
private static const resource0176:Class = ResourceEmbedding_resource0176;
private static const resource0177:Class = ResourceEmbedding_resource0177;
private static const resource0178:Class = ResourceEmbedding_resource0178;
private static const resource0179:Class = ResourceEmbedding_resource0179;
private static const resource0180:Class = ResourceEmbedding_resource0180;
private static const resource0181:Class = ResourceEmbedding_resource0181;
private static const resource0182:Class = ResourceEmbedding_resource0182;
private static const resource0183:Class = ResourceEmbedding_resource0183;
private static const resource0184:Class = ResourceEmbedding_resource0184;
private static const resource0185:Class = ResourceEmbedding_resource0185;
private static const resource0186:Class = ResourceEmbedding_resource0186;
private static const resource0187:Class = ResourceEmbedding_resource0187;
private static const resource0188:Class = ResourceEmbedding_resource0188;
private static const resource0189:Class = ResourceEmbedding_resource0189;
private static const resource0190:Class = ResourceEmbedding_resource0190;
private static const resource0191:Class = ResourceEmbedding_resource0191;
private static const resource0192:Class = ResourceEmbedding_resource0192;
private static const resource0193:Class = ResourceEmbedding_resource0193;
private static const resource0194:Class = ResourceEmbedding_resource0194;
private static const resource0195:Class = ResourceEmbedding_resource0195;
private static const resource0196:Class = ResourceEmbedding_resource0196;
private static const resource0197:Class = ResourceEmbedding_resource0197;
private static const resource0198:Class = ResourceEmbedding_resource0198;
private static const resource0199:Class = ResourceEmbedding_resource0199;
public static const FAIL:String = "FAIL";
private static var resources:Object = {yZî0 õ?O ùßV:resource0000, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{n÷´°Ï:resource0001, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{÷´°Ï:resource0002, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{÷´°Ï:resource0003, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{ã÷´°Ï:resource0004, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{F÷´°Ï:resource0005, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{Ù÷´°Ï:resource0006, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{Y÷´°Ï:resource0007, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{"÷´°Ï:resource0008, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{Ú÷´°Ï:resource0009, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;+{ %ßBjaÀÚb]ùcf{b÷´°Ï:resource0010, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{n÷´°Ï:resource0011, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{÷´°Ï:resource0012, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{÷´°Ï:resource0013, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{ã÷´°Ï:resource0014, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{F÷´°Ï:resource0015, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{Ù÷´°Ï:resource0016, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{Y÷´°Ï:resource0017, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{"÷´°Ï:resource0018, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{Ú÷´°Ï:resource0019, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcf{b÷´°Ï:resource0020, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcfgn÷´°Ï:resource0021, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcfg÷´°Ï:resource0022, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcfg÷´°Ï:resource0023, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾++Á%ßBjaóØbbcfgã÷´°Ï:resource0024, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊcf)Rh:resource0025, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊc)Rh:resource0026, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊcm)Rh:resource0027, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊc)Rh:resource0028, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊc)Rh:resource0029, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊcx)Rh:resource0030, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊc()Rh:resource0031, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊcL)Rh:resource0032, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊcî)Rh:resource0033, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊco)Rh:resource0034, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊÐf)Rh:resource0035, yZî0 F(Õ&#P%ÓùfýçºqÚqÕY;¾È®A£ ÒuÊÐ)Rh:resource0036, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìscf)Rh:resource0037, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìsc)Rh:resource0038, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìscm)Rh:resource0039, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìsc)Rh:resource0040, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìsc)Rh:resource0041, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìscx)Rh:resource0042, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìsc()Rh:resource0043, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìscL)Rh:resource0044, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ4á#ò%oBÿVhìscî)Rh:resource0045, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚuÊàá.:resource0046, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚuXàá.:resource0047, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚu1àá.:resource0048, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚuàá.:resource0049, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚu]àá.:resource0050, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚuÜàá.:resource0051, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚuÎàá.:resource0052, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚuàá.:resource0053, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚu¬àá.:resource0054, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚu¨àá.:resource0055, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚèÊàá.:resource0056, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚèXàá.:resource0057, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚè1àá.:resource0058, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚèàá.:resource0059, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚè]àá.:resource0060, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚèÜàá.:resource0061, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚèÎàá.:resource0062, yZî0 F(Õ&#P%ÓùfýÀº09ÚÕ45ÃÈ®7AB_ÒÚèàá.:resource0063, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õØÓ:resource0064, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õäØÓ:resource0065, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õ8ØÓ:resource0066, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õØÓ:resource0067, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õËØÓ:resource0068, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õVØÓ:resource0069, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õHØÓ:resource0070, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õÉØÓ:resource0071, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õ^ØÓ:resource0072, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøRaáÄé´R×ÜQÒN]õtØÓ:resource0073, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zìäÕï:resource0074, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zSäÕï:resource0075, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zäÕï:resource0076, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`z¶äÕï:resource0077, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zäÕï:resource0078, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zèäÕï:resource0079, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zäÕï:resource0080, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zäÕï:resource0081, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zäÕï:resource0082, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`zðäÕï:resource0083, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`QìäÕï:resource0084, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`QSäÕï:resource0085, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`QäÕï:resource0086, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`Q¶äÕï:resource0087, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`QäÕï:resource0088, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`QèäÕï:resource0089, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<6u9TÝkÓb"5"*ê ü`QäÕï:resource0090, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©Yv½Ò::resource0091, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©4v½Ò::resource0092, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©Þv½Ò::resource0093, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©Mv½Ò::resource0094, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©v½Ò::resource0095, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©áv½Ò::resource0096, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©8v½Ò::resource0097, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©v½Ò::resource0098, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©ûv½Ò::resource0099, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(©wv½Ò::resource0100, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(ÕYv½Ò::resource0101, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(Õ4v½Ò::resource0102, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(ÕÞv½Ò::resource0103, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(ÕMv½Ò::resource0104, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(Õv½Ò::resource0105, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(Õáv½Ò::resource0106, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøª`àÚ`]<61¦Ðw}»S
7ôË0þi´ciYµÄr·l%SeÝ(Õ8v½Ò::resource0107, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õØÓ:resource0108, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õäØÓ:resource0109, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ8ØÓ:resource0110, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õØÓ:resource0111, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õËØÓ:resource0112, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õVØÓ:resource0113, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õHØÓ:resource0114, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õÉØÓ:resource0115, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ^ØÓ:resource0116, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õtØÓ:resource0117, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´ØÓ:resource0118, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´äØÓ:resource0119, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´8ØÓ:resource0120, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´ØÓ:resource0121, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´ËØÓ:resource0122, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´VØÓ:resource0123, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´HØÓ:resource0124, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´ÉØÓ:resource0125, yZî0 F(Õ&#P%Óùfýk0
1©èñÐ#nÖøú7ûÚ´R×¼!]õ´^ØÓ:resource0126, yZî0 F(Õ&#P%Óùfýk0
íX4]WgÍ3¹j-ójbïs=þäÂ:resource0127, yZî0 F(Õ&#P%Óùfýk0
íX4]WgÍ3¹áîðØï~
¡]Â,µè!v:resource0128, yZî0 F(Õ&#P%Óùfýk0
íX4]WgÍ3¹L7)=H~¥×+¦9S:resource0129, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPz´Å3:resource0130, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPQ´Å3:resource0131, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPl´Å3:resource0132, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytP´Å3:resource0133, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPY´Å3:resource0134, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytP/´Å3:resource0135, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytP´Å3:resource0136, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPë´Å3:resource0137, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPã´Å3:resource0138, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åxG>¾Êhx,(îLCçºytPî´Å3:resource0139, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎÝQA¿:resource0140, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎQA¿:resource0141, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎÈQA¿:resource0142, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎçQA¿:resource0143, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎjQA¿:resource0144, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎøQA¿:resource0145, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qγQA¿:resource0146, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎDQA¿:resource0147, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎ
QA¿:resource0148, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qÎ?QA¿:resource0149, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qyÝQA¿:resource0150, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qyQA¿:resource0151, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qyÈQA¿:resource0152, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qyçQA¿:resource0153, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qyjQA¿:resource0154, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qyøQA¿:resource0155, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(»S
7ôËs*qÕÊ~¸n¸ô÷m*qy³QA¿:resource0156, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²Ö£Õ¨:resource0157, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖBÕ¨:resource0158, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖGÕ¨:resource0159, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖÑÕ¨:resource0160, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖÕ¨:resource0161, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖÕ¨:resource0162, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖlÕ¨:resource0163, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖÜÕ¨:resource0164, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²Ö¶Õ¨:resource0165, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ÖÕ¨:resource0166, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²A£Õ¨:resource0167, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²ABÕ¨:resource0168, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²AGÕ¨:resource0169, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²AÑÕ¨:resource0170, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²AÕ¨:resource0171, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²AÕ¨:resource0172, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´å:rWr¶T(¬@ÃÌ¯N£Ý®¸Y¹}±Âû±£ú¬XÊOf²AlÕ¨:resource0173, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPQ´Å3:resource0174, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPl´Å3:resource0175, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüP´Å3:resource0176, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPY´Å3:resource0177, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüP/´Å3:resource0178, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüP´Å3:resource0179, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPë´Å3:resource0180, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPã´Å3:resource0181, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPî´Å3:resource0182, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂz´Å3:resource0183, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂQ´Å3:resource0184, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂl´Å3:resource0185, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüP´Å3:resource0186, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂY´Å3:resource0187, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂ/´Å3:resource0188, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüP´Å3:resource0189, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂë´Å3:resource0190, yZî0 F(Õ&#P%Óùfýk0
,©ug¡ ¶
`û¥´åÞNWùÊhx,(îLCçºÜquüPÂã´Å3:resource0191, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCç¢B:resource0192, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCv¢B:resource0193, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCk¢B:resource0194, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCO¢B:resource0195, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCô¢B:resource0196, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCТB:resource0197, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìC@¢B:resource0198, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCÁ¢B:resource0199, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìCÊ¢B:resource0200, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )ÚøsÙ.è7fÏÙ$YìðZSã)üÕ>}zìC¢B:resource0201, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©Yv½Ò::resource0202, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©4v½Ò::resource0203, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©Þv½Ò::resource0204, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©Mv½Ò::resource0205, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©v½Ò::resource0206, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©áv½Ò::resource0207, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©8v½Ò::resource0208, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©v½Ò::resource0209, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©ûv½Ò::resource0210, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(©wv½Ò::resource0211, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(ÕYv½Ò::resource0212, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(Õ4v½Ò::resource0213, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(ÕÞv½Ò::resource0214, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(ÕMv½Ò::resource0215, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(Õv½Ò::resource0216, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(Õáv½Ò::resource0217, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Y
vßMñÅuÊZftÉh
ɲKòÇÝ(Õ8v½Ò::resource0218, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`H§T>:resource0219, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`Û§T>:resource0220, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`ù§T>:resource0221, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`ߧT>:resource0222, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`|§T>:resource0223, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`ϧT>:resource0224, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`k§T>:resource0225, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`!§T>:resource0226, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`P§T>:resource0227, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j`u§T>:resource0228, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½H§T>:resource0229, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½Û§T>:resource0230, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½ù§T>:resource0231, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½ß§T>:resource0232, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½|§T>:resource0233, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½Ï§T>:resource0234, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøsé[/?[O@9Yîò5Ú]y_ó`©%#»¹Õ ÂýUÓ]UHÈðg{4»£j½k§T>:resource0235, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCç¢B:resource0236, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCv¢B:resource0237, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCk¢B:resource0238, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCO¢B:resource0239, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCô¢B:resource0240, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCТB:resource0241, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìC@¢B:resource0242, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCÁ¢B:resource0243, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìCÊ¢B:resource0244, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìC¢B:resource0245, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓç¢B:resource0246, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓv¢B:resource0247, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓk¢B:resource0248, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓO¢B:resource0249, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓô¢B:resource0250, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓТB:resource0251, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓ@¢B:resource0252, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓÁ¢B:resource0253, yZî0 F(Õ&#P%Óùfýk0
TXµ?ÒaAp )Úøs ó?fÏÙ$YìðZSã)!Ú(f_zìÓÊ¢B:resource0254, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿôÖÍë`£Ïýø-ó¾?Xº,|9ùL§^QF¶p-Z\¢:resource0255, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿôÖÍë`£Ïýø-ó¾?Xº,|9ùL§^QF¶-Z\¢:resource0256, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿôÖÍë`£Ïýø-ó¾?Xº,|9ùL§^QF¶æ-Z\¢:resource0257, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿôÖÍë`£Ïýø-ó¾?Xº,|9ùL§^QF¶]-Z\¢:resource0258, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿôÖÍë`£Ïýø-ó¾?Xº,|9ùL§^QF¶q-Z\¢:resource0259, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
ûXhÙö:resource0260, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
-XhÙö:resource0261, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
LXhÙö:resource0262, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
{XhÙö:resource0263, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
XhÙö:resource0264, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
XhÙö:resource0265, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
²XhÙö:resource0266, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
iXhÙö:resource0267, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
WXhÙö:resource0268, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
þXhÙö:resource0269, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5ûXhÙö:resource0270, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5-XhÙö:resource0271, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5LXhÙö:resource0272, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5{XhÙö:resource0273, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5XhÙö:resource0274, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5XhÙö:resource0275, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5²XhÙö:resource0276, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5iXhÙö:resource0277, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5WXhÙö:resource0278, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB'$
¼Òb+séWþ¶9
5þXhÙö:resource0279, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶p-Z\¢:resource0280, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶-Z\¢:resource0281, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶æ-Z\¢:resource0282, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶]-Z\¢:resource0283, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶q-Z\¢:resource0284, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶ï-Z\¢:resource0285, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶<-Z\¢:resource0286, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶k-Z\¢:resource0287, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶-Z\¢:resource0288, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF¶ò-Z\¢:resource0289, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßFp-Z\¢:resource0290, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF-Z\¢:resource0291, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßFæ-Z\¢:resource0292, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF]-Z\¢:resource0293, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßFq-Z\¢:resource0294, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßFï-Z\¢:resource0295, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃB¯¬Hªì-ó¾?X$@gí@ìoßF<-Z\¢:resource0296, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿû¹^g«oïr{n»¹>ÜQ:resource0297, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿû¹^g«oïr{n»Ø>ÜQ:resource0298, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿû¹^g«oïr{n»@>ÜQ:resource0299, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿû¹^g«oïr{n»u>ÜQ:resource0300, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿû¹^g«oïr{n»¶>ÜQ:resource0301, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿû¹^g«oïr{n»>ÜQ:resource0302, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]õQ&0:resource0303, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]Q&0:resource0304, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]¤Q&0:resource0305, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]
Q&0:resource0306, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]CQ&0:resource0307, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]\Q&0:resource0308, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]jQ&0:resource0309, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]ÔQ&0:resource0310, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]%Q&0:resource0311, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e]µQ&0:resource0312, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)õQ&0:resource0313, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)Q&0:resource0314, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)¤Q&0:resource0315, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)
Q&0:resource0316, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)CQ&0:resource0317, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)\Q&0:resource0318, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îÌä,Dé=%^ò¥e)jQ&0:resource0319, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î
RD¦O{ÓNøbýã)uñ ¸¢*÷r߯%ÖqÎÝ(SBg6:resource0320, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î
RD¦O{ÓNøbýã)uñ ¸¢*÷r߯%ÖqÎÝÅSBg6:resource0321, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î
RD¦O{ÓNøbýã)uñ ¸¢*÷r߯%ÖqÎÝÁSBg6:resource0322, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î
RD¦O{ÓNøbýã)uñ ¸¢*÷r߯%ÖqÎÝËSBg6:resource0323, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î
RD¦O{ÓNøbýã)uñ ¸¢*÷r߯%ÖqÎÝ`SBg6:resource0324, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î×âÍ FuÏ~^ù¨Ã5ÚNiüJåYzìCç¢B:resource0325, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î×âÍ FuÏ~^ù¨Ã5ÚNiüJåYzìCv¢B:resource0326, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î×âÍ FuÏ~^ù¨Ã5ÚNiüJåYzìCk¢B:resource0327, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î×âÍ FuÏ~^ù¨Ã5ÚNiüJåYzìCO¢B:resource0328, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î×âÍ FuÏ~^ù¨Ã5ÚNiüJåYzìCô¢B:resource0329, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î=
]õûéqO¹hòþáxNîÊäf¡^ÉôAYX'Ç`
ÑôºÀ5T:resource0330, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î=
]õûéqO¹hòþáxNîÊäf¡^ÉôAYX'Ç`
Ñô#ºÀ5T:resource0331, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î=
]õûéqO¹hòþáxNîÊäf¡^ÉôAYX'Ç`
Ñô2ºÀ5T:resource0332, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î=
]õûéqO¹hòþáxNîÊäf¡^ÉôAYX'Ç`
ÑôݺÀ5T:resource0333, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_î=
]õûéqO¹hòþáxNîÊäf¡^ÉôAYX'Ç`
ÑôrºÀ5T:resource0334, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îäs-D¦O{ÓNøbýã)uñífn×߯%ÖqÎÝ(SBg6:resource0335, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îäs-D¦O{ÓNøbýã)uñífn×߯%ÖqÎÝÅSBg6:resource0336, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îäs-D¦O{ÓNøbýã)uñífn×߯%ÖqÎÝÁSBg6:resource0337, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îäs-D¦O{ÓNøbýã)uñífn×߯%ÖqÎÝËSBg6:resource0338, yZî0 F(Õ&#P%Óùfý¯ª=!åïÿÃK¬_îäs-D¦O{ÓNøbýã)uñífn×߯%ÖqÎÝ`SBg6:resource0339, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶p-Z\¢:resource0340, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶-Z\¢:resource0341, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶æ-Z\¢:resource0342, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶]-Z\¢:resource0343, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶q-Z\¢:resource0344, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶ï-Z\¢:resource0345, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶<-Z\¢:resource0346, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶k-Z\¢:resource0347, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶-Z\¢:resource0348, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F¶ò-Z\¢:resource0349, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>Fp-Z\¢:resource0350, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F-Z\¢:resource0351, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>Fæ-Z\¢:resource0352, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F]-Z\¢:resource0353, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>Fq-Z\¢:resource0354, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>Fï-Z\¢:resource0355, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F<-Z\¢:resource0356, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>Fk-Z\¢:resource0357, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>F-Z\¢:resource0358, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
RÐEõWh?´Tü±>Fò-Z\¢:resource0359, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õØÓ:resource0360, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õäØÓ:resource0361, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õ8ØÓ:resource0362, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õØÓ:resource0363, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õËØÓ:resource0364, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õVØÓ:resource0365, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õHØÓ:resource0366, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õÉØÓ:resource0367, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õ^ØÓ:resource0368, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
ªîo¥õñW)éXO¾^tz
]õtØÓ:resource0369, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õØÓ:resource0370, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õäØÓ:resource0371, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ8ØÓ:resource0372, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õØÓ:resource0373, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õËØÓ:resource0374, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õVØÓ:resource0375, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õHØÓ:resource0376, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õÉØÓ:resource0377, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ^ØÓ:resource0378, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õtØÓ:resource0379, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´ØÓ:resource0380, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´äØÓ:resource0381, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´8ØÓ:resource0382, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´ØÓ:resource0383, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´ËØÓ:resource0384, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´VØÓ:resource0385, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´HØÓ:resource0386, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´ÉØÓ:resource0387, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´^ØÓ:resource0388, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ´tØÓ:resource0389, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õØÓ:resource0390, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õäØÓ:resource0391, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ8ØÓ:resource0392, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õØÓ:resource0393, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õËØÓ:resource0394, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õVØÓ:resource0395, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õHØÓ:resource0396, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õÉØÓ:resource0397, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õ^ØÓ:resource0398, yZî0 F(Õ&#P%Óùfý· þàÅÙñÊÒ}è¯
NooõñW)éXO'tt!]õtØÓ:resource0399, yZî0 F(Õ&+o.4¸¼Nã*¦åV:gȨ߾ ½àgd>¨.µ[~P.k×çþÒSy:resource0400, yZî0 F(Õ&+o.4¸¼Nã*¦åV:gȨ߾ ½àgd>¨.µ[~Pd®ZQ&0:resource0401, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIä2¾_-ðȤøõ,¡?>ÜQ:resource0402, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIä2¾_-ðȤøõ,¡?l|QìÏZ:resource0403, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIä2¾_-ðȤøõ,?Wµ÷´°Ï:resource0404, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIä2¾_-ðȤøõ,?WµXÇÏÙXhÙö:resource0405, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIä2¾_-ð:ýä>àá.:resource0406, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIä2¾_-ð:ýä>Æ[Üp>ÜQ:resource0407, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIå¬_«o\øä:resource0408, yZî0 F(Õ&+o.4¸¼Nã*¦åV:
WïTIb¹\£G\øä:resource0409, yZî0 F(Õ&+o.4¸¼Nã*¦åÝó
õ#®t\O½à¯ÌE´:resource0410, yZî0 F(Õ&+o.4¸¼Nã*¦åÝó
õ#®t\O½àâ´R)Rh:resource0411, yZî0 F(Õ&+o.4¸¼Nã*¦åµ;,+Çò%ýÍbfo³ê
v/és°Ã/xÓ:resource0412, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ7Ñ3üýpíEH«¦6WM¦my¾®ÙQ&0:resource0413, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý/xÓ:resource0414, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°ÝIÒ¨ÃgÂ
º:resource0415, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±t@4vøí&øöüÕ:resource0416, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ùcáñ\ ðÃ{®¹Ö?{ÿÖ×èª:resource0417, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ùcáñ\ ðÃ{2c1}evÂÐÀ:resource0418, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ùcáñ\ ðÃ{h
1[û·×èª:resource0419, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ùcáñ\ ðof?»¡fBh#/Û:resource0420, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ùcáñ\ ðofaµÊr ÃF¥ÓÏ3X:resource0421, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ùcáñ\ ðofy¹r1¼h#/Û:resource0422, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ñç'-Måu´Å3:resource0423, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ñç'-MÈ `f¦¥»h>4÷A:resource0424, yZî0 F(Õ&+o.4¸¼Nã*¦åY;]c~ô»ÖB P·ìõð<+°Ý±x¼Ñç'-MvÊ`H{?´Å3:resource0425, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØM»äÂ:resource0426, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMÒäÂ:resource0427, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMÇäÂ:resource0428, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMäÂ:resource0429, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMäÂ:resource0430, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMJäÂ:resource0431, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMäÂ:resource0432, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØM³äÂ:resource0433, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMäÂ:resource0434, yZî0 F(Õ&+o.4¸¼Nã*¦åÐ,º¦Ç'¯pí«ðN¬8ØMdäÂ:resource0435, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîjåþrW®zµWÓzÐ×J:resource0436, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîjåþrW¸+ñÝ^$ã·ÌgÂ
º:resource0437, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîjåþrWX%Ý(í'Ð×J:resource0438, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³bâ.¡t%ì¡vìÏZ:resource0439, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³bâ.¡ÔT(í¾øQ&0:resource0440, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³bâ.¡´Ðw(©¼ýÏZ:resource0441, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³ýì<
QOP¡t%ì¡vìÏZ:resource0442, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³ýì<
QOP¡ÔT(í¾øQ&0:resource0443, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³ýì<
QOP¡´Ðw(©¼ýÏZ:resource0444, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³ýì<
Q.W®zµWÓzÐ×J:resource0445, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³ýì<
Q.W¸+ñÝ^$ã·ÌgÂ
º:resource0446, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî³ýì<
Q.WX%Ý(í'Ð×J:resource0447, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîØ´dTs¦WP=sÂP/xÓ:resource0448, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîØ´dTsi:*®T^XhÙö:resource0449, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîØ´dTsá¡*q%Ã/xÓ:resource0450, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîØ´dTꡦw(^'·Mò^0MÌvIÅ:resource0451, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîØ´dTꡦw(^±¨%ôb{ã)5¯4:resource0452, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîØ´dTꡦw(^ØôÚÌvIÅ:resource0453, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî`À÷ñ˵?~SXhÙö:resource0454, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî`À÷ñËæésÎw¼ØÏZ:resource0455, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî`À÷ñË)è®ÎÝ^òXhÙö:resource0456, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî϶pµ?~SXhÙö:resource0457, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî϶pæésÎw¼ØÏZ:resource0458, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aî϶p)è®ÎÝ^òXhÙö:resource0459, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîÏGñ~¡¦ñQè!v:resource0460, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîÏGñÆåq%,íÒÐ×J:resource0461, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîÏGñ«/?qÎw}è!v:resource0462, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîÌÀçW®zµWÓzÐ×J:resource0463, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîÌÀçW¸+ñÝ^$ã·ÌgÂ
º:resource0464, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîÌÀçWX%Ý(í'Ð×J:resource0465, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîoCrWW®zµWÓzÐ×J:resource0466, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîoCrWW¸+ñÝ^$ã·ÌgÂ
º:resource0467, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw/ aîoCrWWX%Ý(í'Ð×J:resource0468, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìV-:resource0469, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìi9å0'î}UÝÕÝáº_§:resource0470, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìi9å0'î}U©b¼
c>)yà#:resource0471, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìi9å0'î}U-Öuñáº_§:resource0472, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìiù[0gt*'íy*øöüÕ:resource0473, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìiù[0gtÎ7wdn-Z\¢:resource0474, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìiù[0gtRÌßøöüÕ:resource0475, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìiM¶+ÂwÜF¾¨ÑÝÕÝáº_§:resource0476, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìiM¶+ÂwÜF¾¨Ñ©b¼
c>)yà#:resource0477, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw²_îeìiM¶+ÂwÜF¾¨Ñ-Öuñáº_§:resource0478, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw¨`2¶EÆ <XTÜòXhÙö:resource0479, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw¨`2¶Eµâóæ®ÐÙ$Yì=
ØÓ:resource0480, yZî0 F(Õ&+o.4¸¼Nã*¦å1:Ñëû}Áw¨`2¶Eµâóæ®ÐÙ$YìÚobØÓ:resource0481, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÉW©|Å*qÒSy:resource0482, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÉW©|Å*që£Êþ{´Å3:resource0483, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÉW©|Å*qS«£jcW)yà#:resource0484, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÉW©|ÅJQ&0:resource0485, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÉW©|ÅJúd·Öuó fÄ:resource0486, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÉW©|ÅJQáã֣ʫ0V:resource0487, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÝCøyMgÂ
º:resource0488, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÝCøyM;b¼
c>)yà#:resource0489, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÝCøyMÂ-Öuñáº_§:resource0490, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÝCøy!ÏZ:resource0491, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÝCøy!·Uí²ãN¹Êä«0V:resource0492, yZî0 F(Õ&+o.4¸¼Nã*¦å¥¢þë$N3ØÌ-¼ªýEþ}×®®ÝCøy!·Ï5²s-Z\¢:resource0493, yZî0 F(Õ&+o.4¸¼Nã*¦å¥ucý%¶
¨ð:×dR1F¡÷´°Ï:resource0494, yZî0 F(Õ&+o.4¸¼Nã*¦å é´ÒüA d·'
ê
v/és°Ã/xÓ:resource0495, yZî0 F(Õ&+o.4¸¼Nã*¦å ¾òüwj³ÛÄ å÷àá.:resource0496, yZî0 F(Õ&+o.4¸¼Nã*¦å ¾òüwj³ÛÄ å÷sió¦w(^'·Mò^0MÌvIÅ:resource0497, yZî0 F(Õ&+o.4¸¼Nã*¦å ¾òüwj³ÛÄ å÷sió¦w(^±¨%ôb{ã)5¯4:resource0498, yZî0 F(Õ&+o.4¸¼Nã*¦å ¾òüwj³ÛÄ å÷sió¦w(^ØôÚÌvIÅ:resource0499, yZî0 Ý¿pµO²bRG`\¬:resource0500, yZî0 Ý¿pµO²bRNÉfd©Ý9m:resource0501, yZî0 ¼6"OQìÆNBj¯yÝkt[w^J@X®:resource0502, yZî0 ¼6"OQìÆNBj¯yÝkt[w_J@X®:resource0503, yZî0 ¼6"OQìÆNBj¯yÝkt[w²J@X®:resource0504, yZî0 ¼6"OQìÆNBj¯yÝkt[wJ@X®:resource0505, yZî0 ¼6"OQìÆNBj¯yÝkt[wcJ@X®:resource0506, yZî0 ¼6"OQìÆNBj¯yÝkt[wDJ@X®:resource0507, yZî0 ¼6"OQìÆNBj¯yÝkt[wPJ@X®:resource0508, yZî0 ¼6"OQìÆNBj¯yÝkt[w
J@X®:resource0509, yZî0 ¼6"OQìÆNBj¯yÝkt[w=J@X®:resource0510, yZî0 ¼6"OQìÆNBj¯yÝkt[w¿J@X®:resource0511, yZî0 ¼6"OQìÆNBj¯yÝkt[\^J@X®:resource0512, yZî0 ¼6"OQìÆNBj¯yÝkt[\_J@X®:resource0513, yZî0 ¼6"OQìÆNBj¯yÝkt[\²J@X®:resource0514, yZî0 ¼6"OQìÆNBj¯yÝkt[\J@X®:resource0515, yZî0 ¼6"OQìÆNBj¯yÝkt[\cJ@X®:resource0516, yZî0 ¼6"OQìÆNBj¯yÝkt[\DJ@X®:resource0517, yZî0 ¼6"OQìÆNBj¯yÝkt[\PJ@X®:resource0518, yZî0 ¼6"OQìÆNBj¯yÝkt[\
J@X®:resource0519, yZî0 ¼6"OQìÆNBj¯yÝkt[\=J@X®:resource0520, yZî0 ¼6"OQìÆNBj¯yÝkt[\¿J@X®:resource0521, yZî0 ¼6"OQìÆNBj¯yÝkt[ß^J@X®:resource0522, yZî0 ¼6"OQìÆNBj¯yÝkt[ß_J@X®:resource0523, yZî0 ¼6"OQìÆNBj¯yÝkt[ß²J@X®:resource0524, yZî0 ¼6"OQìÆNBj¯yÝkt[ßJ@X®:resource0525, yZî0 ¼6"OQìÆNBj¯yÝkt[ßcJ@X®:resource0526, yZî0 ¼6"OQìÆNBj¯yÝkt[ßDJ@X®:resource0527, yZî0 ¼6"OQìÆNBj¯yÝkt[ßPJ@X®:resource0528, yZî0 ¼6"OQìÆNBj¯yÝkt[ß
J@X®:resource0529, yZî0 ¼6"OQìÆNBj¯yÝkt[ß=J@X®:resource0530, yZî0 ¼6"OQìÆNBj¯yÝkt[ß¿J@X®:resource0531, yZî0 ¼6"OQìÆNBj¯yÝkt[ñ^J@X®:resource0532, yZî0 ¼6"OQìÆNBj¯yÝkt[ñ_J@X®:resource0533, yZî0 ¼6"OQìÆNBj¯yÝkt[ñ²J@X®:resource0534, yZî0 ¼6"OQìÆNBj¯yÝkt[ñJ@X®:resource0535, yZî0 ¼6"OQìÆNBj¯yÝkt[ñcJ@X®:resource0536, yZî0 ¼6"OQìÆNBj¯yÝkt[ñDJ@X®:resource0537, yZî0 ¼6"OQìÆNBj¯yÝkt[ñPJ@X®:resource0538, yZî0 ¼6"OQìÆNBj¯yÝkt[ñ
J@X®:resource0539, yZî0 ¼6"OQìÆNBj¯yÝkt[ñ=J@X®:resource0540, yZî0 ¼6"OQìÆNBj¯yÝkt[ñ¿J@X®:resource0541, yZî0 ¼6"OQìÆNBj¯yÝkt[Ê^J@X®:resource0542, yZî0 ¼6"OQìÆNBj¯yÝkt[Ê_J@X®:resource0543, yZî0 ¼6"OQìÆNBj¯yÝkt[ʲJ@X®:resource0544, yZî0 ¼6"OQìÆNBj¯yÝkt[ÊJ@X®:resource0545, yZî0 ¼6"OQìÆNBj¯yÝkt[ÊcJ@X®:resource0546, yZî0 ¼6"OQìÆNBj¯yÝkt[ÊDJ@X®:resource0547, yZî0 ¼6"OQìÆNBj¯yÝkt[ÊPJ@X®:resource0548, yZî0 ¼6"OQìÆNBj¯yÝkt[Ê
J@X®:resource0549, yZî0 ¼6"OQìÆNBj¯yÝkt[Ê=J@X®:resource0550, yZî0 ¼6"OQìÆNBj¯yÝkt[Ê¿J@X®:resource0551, yZî0 ¼6"¯Aÿ°Hù
àð:resource0552, yZî0 ¼6"¯ÛdÔ4òKÎú1÷s:resource0553, yZî0 ¼6"¯ÛdÔ4.Vî:resource0554, yZî0 ¼6"¯Vln¹Ò/¦6J9m:resource0555, yZî0 ¼6"¯öBNV+Ä66;xW:resource0556, yZî0 ¼6"¯B*l¬Õ6;xW:resource0557, yZî0 ¼6"¯B*l¬Ü[ñ:resource0558, yZî0 ¼6"ãí}jö9ºV/¦ãµ9m:resource0559, yZî0 ¼6"ãí}j¾ÙJ Ü+°rïå:resource0560, yZî0 ¼6"ãí}ËCg
ª
¯ÅÕuxW:resource0561, yZî0 ¼6"ãí}ËÄó¯àã©Ü[ñ:resource0562, yZî0 ¼6"ãí}ËÄó¯à,ÕÜ[ñ:resource0563, yZî0 ¼6"ãí}/BüH_:resource0564, yZî0 ¼¡¦§.²c¿ü÷Û¹U}¦Ù¥§ë²Ã¼n&p¾]:resource0565, yZî0 ¼¡¦WÏ\7i_vö{NN¹V/¿ûµHw^\·ýHõØz_Cp:resource0566};
public static function getResource(_arg1:DataLoader, _arg2:String):String{
var _local4:*;
var _local3:String = Encoder.reverse(_arg2);
if ((_local3 in resources)){
if ((((_arg2.length >= 4)) && ((_arg2.slice(-4).toLowerCase() == ".xml")))){
_local4 = new (ResourceEmbedding.resources[_local3]);
_local4.uncompress();
_local4 = XML(_local4);
_arg1.loadComplete(_local4);
return (DONE);
};
if ((((_arg2.length >= 4)) && ((_arg2.slice(-4).toLowerCase() == ".swf")))){
_local4 = new (ResourceEmbedding.resources[_local3]);
_arg1.loadBytes(_local4);
return (WAIT);
};
_local4 = new (ResourceEmbedding.resources[_local3]);
_arg1.loadComplete(_local4);
return (DONE);
//unresolved jump
};
return (FAIL);
}
}
}//package generated
Section 76
//ResourceEmbedding_resource0000 (generated.ResourceEmbedding_resource0000)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0000 extends ByteArrayAsset {
}
}//package generated
Section 77
//ResourceEmbedding_resource0001 (generated.ResourceEmbedding_resource0001)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0001 extends BitmapAsset {
}
}//package generated
Section 78
//ResourceEmbedding_resource0002 (generated.ResourceEmbedding_resource0002)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0002 extends BitmapAsset {
}
}//package generated
Section 79
//ResourceEmbedding_resource0003 (generated.ResourceEmbedding_resource0003)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0003 extends BitmapAsset {
}
}//package generated
Section 80
//ResourceEmbedding_resource0004 (generated.ResourceEmbedding_resource0004)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0004 extends BitmapAsset {
}
}//package generated
Section 81
//ResourceEmbedding_resource0005 (generated.ResourceEmbedding_resource0005)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0005 extends BitmapAsset {
}
}//package generated
Section 82
//ResourceEmbedding_resource0006 (generated.ResourceEmbedding_resource0006)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0006 extends BitmapAsset {
}
}//package generated
Section 83
//ResourceEmbedding_resource0007 (generated.ResourceEmbedding_resource0007)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0007 extends BitmapAsset {
}
}//package generated
Section 84
//ResourceEmbedding_resource0008 (generated.ResourceEmbedding_resource0008)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0008 extends BitmapAsset {
}
}//package generated
Section 85
//ResourceEmbedding_resource0009 (generated.ResourceEmbedding_resource0009)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0009 extends BitmapAsset {
}
}//package generated
Section 86
//ResourceEmbedding_resource0010 (generated.ResourceEmbedding_resource0010)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0010 extends BitmapAsset {
}
}//package generated
Section 87
//ResourceEmbedding_resource0011 (generated.ResourceEmbedding_resource0011)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0011 extends BitmapAsset {
}
}//package generated
Section 88
//ResourceEmbedding_resource0012 (generated.ResourceEmbedding_resource0012)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0012 extends BitmapAsset {
}
}//package generated
Section 89
//ResourceEmbedding_resource0013 (generated.ResourceEmbedding_resource0013)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0013 extends BitmapAsset {
}
}//package generated
Section 90
//ResourceEmbedding_resource0014 (generated.ResourceEmbedding_resource0014)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0014 extends BitmapAsset {
}
}//package generated
Section 91
//ResourceEmbedding_resource0015 (generated.ResourceEmbedding_resource0015)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0015 extends BitmapAsset {
}
}//package generated
Section 92
//ResourceEmbedding_resource0016 (generated.ResourceEmbedding_resource0016)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0016 extends BitmapAsset {
}
}//package generated
Section 93
//ResourceEmbedding_resource0017 (generated.ResourceEmbedding_resource0017)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0017 extends BitmapAsset {
}
}//package generated
Section 94
//ResourceEmbedding_resource0018 (generated.ResourceEmbedding_resource0018)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0018 extends BitmapAsset {
}
}//package generated
Section 95
//ResourceEmbedding_resource0019 (generated.ResourceEmbedding_resource0019)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0019 extends BitmapAsset {
}
}//package generated
Section 96
//ResourceEmbedding_resource0020 (generated.ResourceEmbedding_resource0020)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0020 extends BitmapAsset {
}
}//package generated
Section 97
//ResourceEmbedding_resource0021 (generated.ResourceEmbedding_resource0021)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0021 extends BitmapAsset {
}
}//package generated
Section 98
//ResourceEmbedding_resource0022 (generated.ResourceEmbedding_resource0022)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0022 extends BitmapAsset {
}
}//package generated
Section 99
//ResourceEmbedding_resource0023 (generated.ResourceEmbedding_resource0023)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0023 extends BitmapAsset {
}
}//package generated
Section 100
//ResourceEmbedding_resource0024 (generated.ResourceEmbedding_resource0024)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0024 extends BitmapAsset {
}
}//package generated
Section 101
//ResourceEmbedding_resource0025 (generated.ResourceEmbedding_resource0025)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0025 extends BitmapAsset {
}
}//package generated
Section 102
//ResourceEmbedding_resource0026 (generated.ResourceEmbedding_resource0026)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0026 extends BitmapAsset {
}
}//package generated
Section 103
//ResourceEmbedding_resource0027 (generated.ResourceEmbedding_resource0027)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0027 extends BitmapAsset {
}
}//package generated
Section 104
//ResourceEmbedding_resource0028 (generated.ResourceEmbedding_resource0028)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0028 extends BitmapAsset {
}
}//package generated
Section 105
//ResourceEmbedding_resource0029 (generated.ResourceEmbedding_resource0029)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0029 extends BitmapAsset {
}
}//package generated
Section 106
//ResourceEmbedding_resource0030 (generated.ResourceEmbedding_resource0030)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0030 extends BitmapAsset {
}
}//package generated
Section 107
//ResourceEmbedding_resource0031 (generated.ResourceEmbedding_resource0031)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0031 extends BitmapAsset {
}
}//package generated
Section 108
//ResourceEmbedding_resource0032 (generated.ResourceEmbedding_resource0032)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0032 extends BitmapAsset {
}
}//package generated
Section 109
//ResourceEmbedding_resource0033 (generated.ResourceEmbedding_resource0033)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0033 extends BitmapAsset {
}
}//package generated
Section 110
//ResourceEmbedding_resource0034 (generated.ResourceEmbedding_resource0034)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0034 extends BitmapAsset {
}
}//package generated
Section 111
//ResourceEmbedding_resource0035 (generated.ResourceEmbedding_resource0035)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0035 extends BitmapAsset {
}
}//package generated
Section 112
//ResourceEmbedding_resource0036 (generated.ResourceEmbedding_resource0036)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0036 extends BitmapAsset {
}
}//package generated
Section 113
//ResourceEmbedding_resource0037 (generated.ResourceEmbedding_resource0037)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0037 extends BitmapAsset {
}
}//package generated
Section 114
//ResourceEmbedding_resource0038 (generated.ResourceEmbedding_resource0038)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0038 extends BitmapAsset {
}
}//package generated
Section 115
//ResourceEmbedding_resource0039 (generated.ResourceEmbedding_resource0039)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0039 extends BitmapAsset {
}
}//package generated
Section 116
//ResourceEmbedding_resource0040 (generated.ResourceEmbedding_resource0040)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0040 extends BitmapAsset {
}
}//package generated
Section 117
//ResourceEmbedding_resource0041 (generated.ResourceEmbedding_resource0041)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0041 extends BitmapAsset {
}
}//package generated
Section 118
//ResourceEmbedding_resource0042 (generated.ResourceEmbedding_resource0042)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0042 extends BitmapAsset {
}
}//package generated
Section 119
//ResourceEmbedding_resource0043 (generated.ResourceEmbedding_resource0043)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0043 extends BitmapAsset {
}
}//package generated
Section 120
//ResourceEmbedding_resource0044 (generated.ResourceEmbedding_resource0044)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0044 extends BitmapAsset {
}
}//package generated
Section 121
//ResourceEmbedding_resource0045 (generated.ResourceEmbedding_resource0045)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0045 extends BitmapAsset {
}
}//package generated
Section 122
//ResourceEmbedding_resource0046 (generated.ResourceEmbedding_resource0046)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0046 extends BitmapAsset {
}
}//package generated
Section 123
//ResourceEmbedding_resource0047 (generated.ResourceEmbedding_resource0047)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0047 extends BitmapAsset {
}
}//package generated
Section 124
//ResourceEmbedding_resource0048 (generated.ResourceEmbedding_resource0048)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0048 extends BitmapAsset {
}
}//package generated
Section 125
//ResourceEmbedding_resource0049 (generated.ResourceEmbedding_resource0049)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0049 extends BitmapAsset {
}
}//package generated
Section 126
//ResourceEmbedding_resource0050 (generated.ResourceEmbedding_resource0050)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0050 extends BitmapAsset {
}
}//package generated
Section 127
//ResourceEmbedding_resource0051 (generated.ResourceEmbedding_resource0051)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0051 extends BitmapAsset {
}
}//package generated
Section 128
//ResourceEmbedding_resource0052 (generated.ResourceEmbedding_resource0052)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0052 extends BitmapAsset {
}
}//package generated
Section 129
//ResourceEmbedding_resource0053 (generated.ResourceEmbedding_resource0053)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0053 extends BitmapAsset {
}
}//package generated
Section 130
//ResourceEmbedding_resource0054 (generated.ResourceEmbedding_resource0054)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0054 extends BitmapAsset {
}
}//package generated
Section 131
//ResourceEmbedding_resource0055 (generated.ResourceEmbedding_resource0055)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0055 extends BitmapAsset {
}
}//package generated
Section 132
//ResourceEmbedding_resource0056 (generated.ResourceEmbedding_resource0056)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0056 extends BitmapAsset {
}
}//package generated
Section 133
//ResourceEmbedding_resource0057 (generated.ResourceEmbedding_resource0057)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0057 extends BitmapAsset {
}
}//package generated
Section 134
//ResourceEmbedding_resource0058 (generated.ResourceEmbedding_resource0058)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0058 extends BitmapAsset {
}
}//package generated
Section 135
//ResourceEmbedding_resource0059 (generated.ResourceEmbedding_resource0059)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0059 extends BitmapAsset {
}
}//package generated
Section 136
//ResourceEmbedding_resource0060 (generated.ResourceEmbedding_resource0060)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0060 extends BitmapAsset {
}
}//package generated
Section 137
//ResourceEmbedding_resource0061 (generated.ResourceEmbedding_resource0061)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0061 extends BitmapAsset {
}
}//package generated
Section 138
//ResourceEmbedding_resource0062 (generated.ResourceEmbedding_resource0062)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0062 extends BitmapAsset {
}
}//package generated
Section 139
//ResourceEmbedding_resource0063 (generated.ResourceEmbedding_resource0063)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0063 extends BitmapAsset {
}
}//package generated
Section 140
//ResourceEmbedding_resource0064 (generated.ResourceEmbedding_resource0064)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0064 extends BitmapAsset {
}
}//package generated
Section 141
//ResourceEmbedding_resource0065 (generated.ResourceEmbedding_resource0065)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0065 extends BitmapAsset {
}
}//package generated
Section 142
//ResourceEmbedding_resource0066 (generated.ResourceEmbedding_resource0066)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0066 extends BitmapAsset {
}
}//package generated
Section 143
//ResourceEmbedding_resource0067 (generated.ResourceEmbedding_resource0067)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0067 extends BitmapAsset {
}
}//package generated
Section 144
//ResourceEmbedding_resource0068 (generated.ResourceEmbedding_resource0068)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0068 extends BitmapAsset {
}
}//package generated
Section 145
//ResourceEmbedding_resource0069 (generated.ResourceEmbedding_resource0069)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0069 extends BitmapAsset {
}
}//package generated
Section 146
//ResourceEmbedding_resource0070 (generated.ResourceEmbedding_resource0070)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0070 extends BitmapAsset {
}
}//package generated
Section 147
//ResourceEmbedding_resource0071 (generated.ResourceEmbedding_resource0071)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0071 extends BitmapAsset {
}
}//package generated
Section 148
//ResourceEmbedding_resource0072 (generated.ResourceEmbedding_resource0072)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0072 extends BitmapAsset {
}
}//package generated
Section 149
//ResourceEmbedding_resource0073 (generated.ResourceEmbedding_resource0073)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0073 extends BitmapAsset {
}
}//package generated
Section 150
//ResourceEmbedding_resource0074 (generated.ResourceEmbedding_resource0074)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0074 extends BitmapAsset {
}
}//package generated
Section 151
//ResourceEmbedding_resource0075 (generated.ResourceEmbedding_resource0075)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0075 extends BitmapAsset {
}
}//package generated
Section 152
//ResourceEmbedding_resource0076 (generated.ResourceEmbedding_resource0076)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0076 extends BitmapAsset {
}
}//package generated
Section 153
//ResourceEmbedding_resource0077 (generated.ResourceEmbedding_resource0077)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0077 extends BitmapAsset {
}
}//package generated
Section 154
//ResourceEmbedding_resource0078 (generated.ResourceEmbedding_resource0078)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0078 extends BitmapAsset {
}
}//package generated
Section 155
//ResourceEmbedding_resource0079 (generated.ResourceEmbedding_resource0079)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0079 extends BitmapAsset {
}
}//package generated
Section 156
//ResourceEmbedding_resource0080 (generated.ResourceEmbedding_resource0080)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0080 extends BitmapAsset {
}
}//package generated
Section 157
//ResourceEmbedding_resource0081 (generated.ResourceEmbedding_resource0081)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0081 extends BitmapAsset {
}
}//package generated
Section 158
//ResourceEmbedding_resource0082 (generated.ResourceEmbedding_resource0082)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0082 extends BitmapAsset {
}
}//package generated
Section 159
//ResourceEmbedding_resource0083 (generated.ResourceEmbedding_resource0083)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0083 extends BitmapAsset {
}
}//package generated
Section 160
//ResourceEmbedding_resource0084 (generated.ResourceEmbedding_resource0084)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0084 extends BitmapAsset {
}
}//package generated
Section 161
//ResourceEmbedding_resource0085 (generated.ResourceEmbedding_resource0085)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0085 extends BitmapAsset {
}
}//package generated
Section 162
//ResourceEmbedding_resource0086 (generated.ResourceEmbedding_resource0086)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0086 extends BitmapAsset {
}
}//package generated
Section 163
//ResourceEmbedding_resource0087 (generated.ResourceEmbedding_resource0087)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0087 extends BitmapAsset {
}
}//package generated
Section 164
//ResourceEmbedding_resource0088 (generated.ResourceEmbedding_resource0088)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0088 extends BitmapAsset {
}
}//package generated
Section 165
//ResourceEmbedding_resource0089 (generated.ResourceEmbedding_resource0089)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0089 extends BitmapAsset {
}
}//package generated
Section 166
//ResourceEmbedding_resource0090 (generated.ResourceEmbedding_resource0090)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0090 extends BitmapAsset {
}
}//package generated
Section 167
//ResourceEmbedding_resource0091 (generated.ResourceEmbedding_resource0091)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0091 extends BitmapAsset {
}
}//package generated
Section 168
//ResourceEmbedding_resource0092 (generated.ResourceEmbedding_resource0092)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0092 extends BitmapAsset {
}
}//package generated
Section 169
//ResourceEmbedding_resource0093 (generated.ResourceEmbedding_resource0093)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0093 extends BitmapAsset {
}
}//package generated
Section 170
//ResourceEmbedding_resource0094 (generated.ResourceEmbedding_resource0094)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0094 extends BitmapAsset {
}
}//package generated
Section 171
//ResourceEmbedding_resource0095 (generated.ResourceEmbedding_resource0095)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0095 extends BitmapAsset {
}
}//package generated
Section 172
//ResourceEmbedding_resource0096 (generated.ResourceEmbedding_resource0096)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0096 extends BitmapAsset {
}
}//package generated
Section 173
//ResourceEmbedding_resource0097 (generated.ResourceEmbedding_resource0097)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0097 extends BitmapAsset {
}
}//package generated
Section 174
//ResourceEmbedding_resource0098 (generated.ResourceEmbedding_resource0098)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0098 extends BitmapAsset {
}
}//package generated
Section 175
//ResourceEmbedding_resource0099 (generated.ResourceEmbedding_resource0099)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0099 extends BitmapAsset {
}
}//package generated
Section 176
//ResourceEmbedding_resource0100 (generated.ResourceEmbedding_resource0100)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0100 extends BitmapAsset {
}
}//package generated
Section 177
//ResourceEmbedding_resource0101 (generated.ResourceEmbedding_resource0101)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0101 extends BitmapAsset {
}
}//package generated
Section 178
//ResourceEmbedding_resource0102 (generated.ResourceEmbedding_resource0102)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0102 extends BitmapAsset {
}
}//package generated
Section 179
//ResourceEmbedding_resource0103 (generated.ResourceEmbedding_resource0103)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0103 extends BitmapAsset {
}
}//package generated
Section 180
//ResourceEmbedding_resource0104 (generated.ResourceEmbedding_resource0104)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0104 extends BitmapAsset {
}
}//package generated
Section 181
//ResourceEmbedding_resource0105 (generated.ResourceEmbedding_resource0105)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0105 extends BitmapAsset {
}
}//package generated
Section 182
//ResourceEmbedding_resource0106 (generated.ResourceEmbedding_resource0106)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0106 extends BitmapAsset {
}
}//package generated
Section 183
//ResourceEmbedding_resource0107 (generated.ResourceEmbedding_resource0107)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0107 extends BitmapAsset {
}
}//package generated
Section 184
//ResourceEmbedding_resource0108 (generated.ResourceEmbedding_resource0108)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0108 extends BitmapAsset {
}
}//package generated
Section 185
//ResourceEmbedding_resource0109 (generated.ResourceEmbedding_resource0109)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0109 extends BitmapAsset {
}
}//package generated
Section 186
//ResourceEmbedding_resource0110 (generated.ResourceEmbedding_resource0110)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0110 extends BitmapAsset {
}
}//package generated
Section 187
//ResourceEmbedding_resource0111 (generated.ResourceEmbedding_resource0111)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0111 extends BitmapAsset {
}
}//package generated
Section 188
//ResourceEmbedding_resource0112 (generated.ResourceEmbedding_resource0112)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0112 extends BitmapAsset {
}
}//package generated
Section 189
//ResourceEmbedding_resource0113 (generated.ResourceEmbedding_resource0113)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0113 extends BitmapAsset {
}
}//package generated
Section 190
//ResourceEmbedding_resource0114 (generated.ResourceEmbedding_resource0114)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0114 extends BitmapAsset {
}
}//package generated
Section 191
//ResourceEmbedding_resource0115 (generated.ResourceEmbedding_resource0115)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0115 extends BitmapAsset {
}
}//package generated
Section 192
//ResourceEmbedding_resource0116 (generated.ResourceEmbedding_resource0116)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0116 extends BitmapAsset {
}
}//package generated
Section 193
//ResourceEmbedding_resource0117 (generated.ResourceEmbedding_resource0117)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0117 extends BitmapAsset {
}
}//package generated
Section 194
//ResourceEmbedding_resource0118 (generated.ResourceEmbedding_resource0118)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0118 extends BitmapAsset {
}
}//package generated
Section 195
//ResourceEmbedding_resource0119 (generated.ResourceEmbedding_resource0119)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0119 extends BitmapAsset {
}
}//package generated
Section 196
//ResourceEmbedding_resource0120 (generated.ResourceEmbedding_resource0120)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0120 extends BitmapAsset {
}
}//package generated
Section 197
//ResourceEmbedding_resource0121 (generated.ResourceEmbedding_resource0121)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0121 extends BitmapAsset {
}
}//package generated
Section 198
//ResourceEmbedding_resource0122 (generated.ResourceEmbedding_resource0122)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0122 extends BitmapAsset {
}
}//package generated
Section 199
//ResourceEmbedding_resource0123 (generated.ResourceEmbedding_resource0123)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0123 extends BitmapAsset {
}
}//package generated
Section 200
//ResourceEmbedding_resource0124 (generated.ResourceEmbedding_resource0124)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0124 extends BitmapAsset {
}
}//package generated
Section 201
//ResourceEmbedding_resource0125 (generated.ResourceEmbedding_resource0125)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0125 extends BitmapAsset {
}
}//package generated
Section 202
//ResourceEmbedding_resource0126 (generated.ResourceEmbedding_resource0126)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0126 extends BitmapAsset {
}
}//package generated
Section 203
//ResourceEmbedding_resource0127 (generated.ResourceEmbedding_resource0127)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0127 extends BitmapAsset {
}
}//package generated
Section 204
//ResourceEmbedding_resource0128 (generated.ResourceEmbedding_resource0128)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0128 extends BitmapAsset {
}
}//package generated
Section 205
//ResourceEmbedding_resource0129 (generated.ResourceEmbedding_resource0129)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0129 extends BitmapAsset {
}
}//package generated
Section 206
//ResourceEmbedding_resource0130 (generated.ResourceEmbedding_resource0130)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0130 extends BitmapAsset {
}
}//package generated
Section 207
//ResourceEmbedding_resource0131 (generated.ResourceEmbedding_resource0131)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0131 extends BitmapAsset {
}
}//package generated
Section 208
//ResourceEmbedding_resource0132 (generated.ResourceEmbedding_resource0132)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0132 extends BitmapAsset {
}
}//package generated
Section 209
//ResourceEmbedding_resource0133 (generated.ResourceEmbedding_resource0133)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0133 extends BitmapAsset {
}
}//package generated
Section 210
//ResourceEmbedding_resource0134 (generated.ResourceEmbedding_resource0134)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0134 extends BitmapAsset {
}
}//package generated
Section 211
//ResourceEmbedding_resource0135 (generated.ResourceEmbedding_resource0135)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0135 extends BitmapAsset {
}
}//package generated
Section 212
//ResourceEmbedding_resource0136 (generated.ResourceEmbedding_resource0136)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0136 extends BitmapAsset {
}
}//package generated
Section 213
//ResourceEmbedding_resource0137 (generated.ResourceEmbedding_resource0137)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0137 extends BitmapAsset {
}
}//package generated
Section 214
//ResourceEmbedding_resource0138 (generated.ResourceEmbedding_resource0138)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0138 extends BitmapAsset {
}
}//package generated
Section 215
//ResourceEmbedding_resource0139 (generated.ResourceEmbedding_resource0139)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0139 extends BitmapAsset {
}
}//package generated
Section 216
//ResourceEmbedding_resource0140 (generated.ResourceEmbedding_resource0140)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0140 extends BitmapAsset {
}
}//package generated
Section 217
//ResourceEmbedding_resource0141 (generated.ResourceEmbedding_resource0141)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0141 extends BitmapAsset {
}
}//package generated
Section 218
//ResourceEmbedding_resource0142 (generated.ResourceEmbedding_resource0142)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0142 extends BitmapAsset {
}
}//package generated
Section 219
//ResourceEmbedding_resource0143 (generated.ResourceEmbedding_resource0143)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0143 extends BitmapAsset {
}
}//package generated
Section 220
//ResourceEmbedding_resource0144 (generated.ResourceEmbedding_resource0144)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0144 extends BitmapAsset {
}
}//package generated
Section 221
//ResourceEmbedding_resource0145 (generated.ResourceEmbedding_resource0145)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0145 extends BitmapAsset {
}
}//package generated
Section 222
//ResourceEmbedding_resource0146 (generated.ResourceEmbedding_resource0146)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0146 extends BitmapAsset {
}
}//package generated
Section 223
//ResourceEmbedding_resource0147 (generated.ResourceEmbedding_resource0147)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0147 extends BitmapAsset {
}
}//package generated
Section 224
//ResourceEmbedding_resource0148 (generated.ResourceEmbedding_resource0148)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0148 extends BitmapAsset {
}
}//package generated
Section 225
//ResourceEmbedding_resource0149 (generated.ResourceEmbedding_resource0149)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0149 extends BitmapAsset {
}
}//package generated
Section 226
//ResourceEmbedding_resource0150 (generated.ResourceEmbedding_resource0150)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0150 extends BitmapAsset {
}
}//package generated
Section 227
//ResourceEmbedding_resource0151 (generated.ResourceEmbedding_resource0151)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0151 extends BitmapAsset {
}
}//package generated
Section 228
//ResourceEmbedding_resource0152 (generated.ResourceEmbedding_resource0152)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0152 extends BitmapAsset {
}
}//package generated
Section 229
//ResourceEmbedding_resource0153 (generated.ResourceEmbedding_resource0153)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0153 extends BitmapAsset {
}
}//package generated
Section 230
//ResourceEmbedding_resource0154 (generated.ResourceEmbedding_resource0154)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0154 extends BitmapAsset {
}
}//package generated
Section 231
//ResourceEmbedding_resource0155 (generated.ResourceEmbedding_resource0155)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0155 extends BitmapAsset {
}
}//package generated
Section 232
//ResourceEmbedding_resource0156 (generated.ResourceEmbedding_resource0156)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0156 extends BitmapAsset {
}
}//package generated
Section 233
//ResourceEmbedding_resource0157 (generated.ResourceEmbedding_resource0157)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0157 extends BitmapAsset {
}
}//package generated
Section 234
//ResourceEmbedding_resource0158 (generated.ResourceEmbedding_resource0158)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0158 extends BitmapAsset {
}
}//package generated
Section 235
//ResourceEmbedding_resource0159 (generated.ResourceEmbedding_resource0159)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0159 extends BitmapAsset {
}
}//package generated
Section 236
//ResourceEmbedding_resource0160 (generated.ResourceEmbedding_resource0160)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0160 extends BitmapAsset {
}
}//package generated
Section 237
//ResourceEmbedding_resource0161 (generated.ResourceEmbedding_resource0161)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0161 extends BitmapAsset {
}
}//package generated
Section 238
//ResourceEmbedding_resource0162 (generated.ResourceEmbedding_resource0162)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0162 extends BitmapAsset {
}
}//package generated
Section 239
//ResourceEmbedding_resource0163 (generated.ResourceEmbedding_resource0163)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0163 extends BitmapAsset {
}
}//package generated
Section 240
//ResourceEmbedding_resource0164 (generated.ResourceEmbedding_resource0164)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0164 extends BitmapAsset {
}
}//package generated
Section 241
//ResourceEmbedding_resource0165 (generated.ResourceEmbedding_resource0165)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0165 extends BitmapAsset {
}
}//package generated
Section 242
//ResourceEmbedding_resource0166 (generated.ResourceEmbedding_resource0166)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0166 extends BitmapAsset {
}
}//package generated
Section 243
//ResourceEmbedding_resource0167 (generated.ResourceEmbedding_resource0167)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0167 extends BitmapAsset {
}
}//package generated
Section 244
//ResourceEmbedding_resource0168 (generated.ResourceEmbedding_resource0168)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0168 extends BitmapAsset {
}
}//package generated
Section 245
//ResourceEmbedding_resource0169 (generated.ResourceEmbedding_resource0169)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0169 extends BitmapAsset {
}
}//package generated
Section 246
//ResourceEmbedding_resource0170 (generated.ResourceEmbedding_resource0170)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0170 extends BitmapAsset {
}
}//package generated
Section 247
//ResourceEmbedding_resource0171 (generated.ResourceEmbedding_resource0171)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0171 extends BitmapAsset {
}
}//package generated
Section 248
//ResourceEmbedding_resource0172 (generated.ResourceEmbedding_resource0172)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0172 extends BitmapAsset {
}
}//package generated
Section 249
//ResourceEmbedding_resource0173 (generated.ResourceEmbedding_resource0173)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0173 extends BitmapAsset {
}
}//package generated
Section 250
//ResourceEmbedding_resource0174 (generated.ResourceEmbedding_resource0174)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0174 extends BitmapAsset {
}
}//package generated
Section 251
//ResourceEmbedding_resource0175 (generated.ResourceEmbedding_resource0175)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0175 extends BitmapAsset {
}
}//package generated
Section 252
//ResourceEmbedding_resource0176 (generated.ResourceEmbedding_resource0176)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0176 extends BitmapAsset {
}
}//package generated
Section 253
//ResourceEmbedding_resource0177 (generated.ResourceEmbedding_resource0177)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0177 extends BitmapAsset {
}
}//package generated
Section 254
//ResourceEmbedding_resource0178 (generated.ResourceEmbedding_resource0178)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0178 extends BitmapAsset {
}
}//package generated
Section 255
//ResourceEmbedding_resource0179 (generated.ResourceEmbedding_resource0179)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0179 extends BitmapAsset {
}
}//package generated
Section 256
//ResourceEmbedding_resource0180 (generated.ResourceEmbedding_resource0180)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0180 extends BitmapAsset {
}
}//package generated
Section 257
//ResourceEmbedding_resource0181 (generated.ResourceEmbedding_resource0181)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0181 extends BitmapAsset {
}
}//package generated
Section 258
//ResourceEmbedding_resource0182 (generated.ResourceEmbedding_resource0182)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0182 extends BitmapAsset {
}
}//package generated
Section 259
//ResourceEmbedding_resource0183 (generated.ResourceEmbedding_resource0183)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0183 extends BitmapAsset {
}
}//package generated
Section 260
//ResourceEmbedding_resource0184 (generated.ResourceEmbedding_resource0184)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0184 extends BitmapAsset {
}
}//package generated
Section 261
//ResourceEmbedding_resource0185 (generated.ResourceEmbedding_resource0185)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0185 extends BitmapAsset {
}
}//package generated
Section 262
//ResourceEmbedding_resource0186 (generated.ResourceEmbedding_resource0186)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0186 extends BitmapAsset {
}
}//package generated
Section 263
//ResourceEmbedding_resource0187 (generated.ResourceEmbedding_resource0187)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0187 extends BitmapAsset {
}
}//package generated
Section 264
//ResourceEmbedding_resource0188 (generated.ResourceEmbedding_resource0188)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0188 extends BitmapAsset {
}
}//package generated
Section 265
//ResourceEmbedding_resource0189 (generated.ResourceEmbedding_resource0189)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0189 extends BitmapAsset {
}
}//package generated
Section 266
//ResourceEmbedding_resource0190 (generated.ResourceEmbedding_resource0190)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0190 extends BitmapAsset {
}
}//package generated
Section 267
//ResourceEmbedding_resource0191 (generated.ResourceEmbedding_resource0191)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0191 extends BitmapAsset {
}
}//package generated
Section 268
//ResourceEmbedding_resource0192 (generated.ResourceEmbedding_resource0192)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0192 extends BitmapAsset {
}
}//package generated
Section 269
//ResourceEmbedding_resource0193 (generated.ResourceEmbedding_resource0193)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0193 extends BitmapAsset {
}
}//package generated
Section 270
//ResourceEmbedding_resource0194 (generated.ResourceEmbedding_resource0194)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0194 extends BitmapAsset {
}
}//package generated
Section 271
//ResourceEmbedding_resource0195 (generated.ResourceEmbedding_resource0195)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0195 extends BitmapAsset {
}
}//package generated
Section 272
//ResourceEmbedding_resource0196 (generated.ResourceEmbedding_resource0196)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0196 extends BitmapAsset {
}
}//package generated
Section 273
//ResourceEmbedding_resource0197 (generated.ResourceEmbedding_resource0197)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0197 extends BitmapAsset {
}
}//package generated
Section 274
//ResourceEmbedding_resource0198 (generated.ResourceEmbedding_resource0198)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0198 extends BitmapAsset {
}
}//package generated
Section 275
//ResourceEmbedding_resource0199 (generated.ResourceEmbedding_resource0199)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0199 extends BitmapAsset {
}
}//package generated
Section 276
//ResourceEmbedding_resource0200 (generated.ResourceEmbedding_resource0200)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0200 extends BitmapAsset {
}
}//package generated
Section 277
//ResourceEmbedding_resource0201 (generated.ResourceEmbedding_resource0201)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0201 extends BitmapAsset {
}
}//package generated
Section 278
//ResourceEmbedding_resource0202 (generated.ResourceEmbedding_resource0202)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0202 extends BitmapAsset {
}
}//package generated
Section 279
//ResourceEmbedding_resource0203 (generated.ResourceEmbedding_resource0203)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0203 extends BitmapAsset {
}
}//package generated
Section 280
//ResourceEmbedding_resource0204 (generated.ResourceEmbedding_resource0204)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0204 extends BitmapAsset {
}
}//package generated
Section 281
//ResourceEmbedding_resource0205 (generated.ResourceEmbedding_resource0205)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0205 extends BitmapAsset {
}
}//package generated
Section 282
//ResourceEmbedding_resource0206 (generated.ResourceEmbedding_resource0206)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0206 extends BitmapAsset {
}
}//package generated
Section 283
//ResourceEmbedding_resource0207 (generated.ResourceEmbedding_resource0207)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0207 extends BitmapAsset {
}
}//package generated
Section 284
//ResourceEmbedding_resource0208 (generated.ResourceEmbedding_resource0208)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0208 extends BitmapAsset {
}
}//package generated
Section 285
//ResourceEmbedding_resource0209 (generated.ResourceEmbedding_resource0209)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0209 extends BitmapAsset {
}
}//package generated
Section 286
//ResourceEmbedding_resource0210 (generated.ResourceEmbedding_resource0210)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0210 extends BitmapAsset {
}
}//package generated
Section 287
//ResourceEmbedding_resource0211 (generated.ResourceEmbedding_resource0211)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0211 extends BitmapAsset {
}
}//package generated
Section 288
//ResourceEmbedding_resource0212 (generated.ResourceEmbedding_resource0212)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0212 extends BitmapAsset {
}
}//package generated
Section 289
//ResourceEmbedding_resource0213 (generated.ResourceEmbedding_resource0213)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0213 extends BitmapAsset {
}
}//package generated
Section 290
//ResourceEmbedding_resource0214 (generated.ResourceEmbedding_resource0214)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0214 extends BitmapAsset {
}
}//package generated
Section 291
//ResourceEmbedding_resource0215 (generated.ResourceEmbedding_resource0215)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0215 extends BitmapAsset {
}
}//package generated
Section 292
//ResourceEmbedding_resource0216 (generated.ResourceEmbedding_resource0216)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0216 extends BitmapAsset {
}
}//package generated
Section 293
//ResourceEmbedding_resource0217 (generated.ResourceEmbedding_resource0217)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0217 extends BitmapAsset {
}
}//package generated
Section 294
//ResourceEmbedding_resource0218 (generated.ResourceEmbedding_resource0218)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0218 extends BitmapAsset {
}
}//package generated
Section 295
//ResourceEmbedding_resource0219 (generated.ResourceEmbedding_resource0219)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0219 extends BitmapAsset {
}
}//package generated
Section 296
//ResourceEmbedding_resource0220 (generated.ResourceEmbedding_resource0220)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0220 extends BitmapAsset {
}
}//package generated
Section 297
//ResourceEmbedding_resource0221 (generated.ResourceEmbedding_resource0221)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0221 extends BitmapAsset {
}
}//package generated
Section 298
//ResourceEmbedding_resource0222 (generated.ResourceEmbedding_resource0222)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0222 extends BitmapAsset {
}
}//package generated
Section 299
//ResourceEmbedding_resource0223 (generated.ResourceEmbedding_resource0223)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0223 extends BitmapAsset {
}
}//package generated
Section 300
//ResourceEmbedding_resource0224 (generated.ResourceEmbedding_resource0224)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0224 extends BitmapAsset {
}
}//package generated
Section 301
//ResourceEmbedding_resource0225 (generated.ResourceEmbedding_resource0225)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0225 extends BitmapAsset {
}
}//package generated
Section 302
//ResourceEmbedding_resource0226 (generated.ResourceEmbedding_resource0226)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0226 extends BitmapAsset {
}
}//package generated
Section 303
//ResourceEmbedding_resource0227 (generated.ResourceEmbedding_resource0227)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0227 extends BitmapAsset {
}
}//package generated
Section 304
//ResourceEmbedding_resource0228 (generated.ResourceEmbedding_resource0228)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0228 extends BitmapAsset {
}
}//package generated
Section 305
//ResourceEmbedding_resource0229 (generated.ResourceEmbedding_resource0229)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0229 extends BitmapAsset {
}
}//package generated
Section 306
//ResourceEmbedding_resource0230 (generated.ResourceEmbedding_resource0230)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0230 extends BitmapAsset {
}
}//package generated
Section 307
//ResourceEmbedding_resource0231 (generated.ResourceEmbedding_resource0231)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0231 extends BitmapAsset {
}
}//package generated
Section 308
//ResourceEmbedding_resource0232 (generated.ResourceEmbedding_resource0232)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0232 extends BitmapAsset {
}
}//package generated
Section 309
//ResourceEmbedding_resource0233 (generated.ResourceEmbedding_resource0233)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0233 extends BitmapAsset {
}
}//package generated
Section 310
//ResourceEmbedding_resource0234 (generated.ResourceEmbedding_resource0234)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0234 extends BitmapAsset {
}
}//package generated
Section 311
//ResourceEmbedding_resource0235 (generated.ResourceEmbedding_resource0235)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0235 extends BitmapAsset {
}
}//package generated
Section 312
//ResourceEmbedding_resource0236 (generated.ResourceEmbedding_resource0236)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0236 extends BitmapAsset {
}
}//package generated
Section 313
//ResourceEmbedding_resource0237 (generated.ResourceEmbedding_resource0237)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0237 extends BitmapAsset {
}
}//package generated
Section 314
//ResourceEmbedding_resource0238 (generated.ResourceEmbedding_resource0238)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0238 extends BitmapAsset {
}
}//package generated
Section 315
//ResourceEmbedding_resource0239 (generated.ResourceEmbedding_resource0239)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0239 extends BitmapAsset {
}
}//package generated
Section 316
//ResourceEmbedding_resource0240 (generated.ResourceEmbedding_resource0240)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0240 extends BitmapAsset {
}
}//package generated
Section 317
//ResourceEmbedding_resource0241 (generated.ResourceEmbedding_resource0241)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0241 extends BitmapAsset {
}
}//package generated
Section 318
//ResourceEmbedding_resource0242 (generated.ResourceEmbedding_resource0242)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0242 extends BitmapAsset {
}
}//package generated
Section 319
//ResourceEmbedding_resource0243 (generated.ResourceEmbedding_resource0243)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0243 extends BitmapAsset {
}
}//package generated
Section 320
//ResourceEmbedding_resource0244 (generated.ResourceEmbedding_resource0244)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0244 extends BitmapAsset {
}
}//package generated
Section 321
//ResourceEmbedding_resource0245 (generated.ResourceEmbedding_resource0245)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0245 extends BitmapAsset {
}
}//package generated
Section 322
//ResourceEmbedding_resource0246 (generated.ResourceEmbedding_resource0246)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0246 extends BitmapAsset {
}
}//package generated
Section 323
//ResourceEmbedding_resource0247 (generated.ResourceEmbedding_resource0247)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0247 extends BitmapAsset {
}
}//package generated
Section 324
//ResourceEmbedding_resource0248 (generated.ResourceEmbedding_resource0248)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0248 extends BitmapAsset {
}
}//package generated
Section 325
//ResourceEmbedding_resource0249 (generated.ResourceEmbedding_resource0249)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0249 extends BitmapAsset {
}
}//package generated
Section 326
//ResourceEmbedding_resource0250 (generated.ResourceEmbedding_resource0250)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0250 extends BitmapAsset {
}
}//package generated
Section 327
//ResourceEmbedding_resource0251 (generated.ResourceEmbedding_resource0251)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0251 extends BitmapAsset {
}
}//package generated
Section 328
//ResourceEmbedding_resource0252 (generated.ResourceEmbedding_resource0252)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0252 extends BitmapAsset {
}
}//package generated
Section 329
//ResourceEmbedding_resource0253 (generated.ResourceEmbedding_resource0253)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0253 extends BitmapAsset {
}
}//package generated
Section 330
//ResourceEmbedding_resource0254 (generated.ResourceEmbedding_resource0254)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0254 extends BitmapAsset {
}
}//package generated
Section 331
//ResourceEmbedding_resource0255 (generated.ResourceEmbedding_resource0255)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0255 extends BitmapAsset {
}
}//package generated
Section 332
//ResourceEmbedding_resource0256 (generated.ResourceEmbedding_resource0256)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0256 extends BitmapAsset {
}
}//package generated
Section 333
//ResourceEmbedding_resource0257 (generated.ResourceEmbedding_resource0257)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0257 extends BitmapAsset {
}
}//package generated
Section 334
//ResourceEmbedding_resource0258 (generated.ResourceEmbedding_resource0258)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0258 extends BitmapAsset {
}
}//package generated
Section 335
//ResourceEmbedding_resource0259 (generated.ResourceEmbedding_resource0259)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0259 extends BitmapAsset {
}
}//package generated
Section 336
//ResourceEmbedding_resource0260 (generated.ResourceEmbedding_resource0260)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0260 extends BitmapAsset {
}
}//package generated
Section 337
//ResourceEmbedding_resource0261 (generated.ResourceEmbedding_resource0261)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0261 extends BitmapAsset {
}
}//package generated
Section 338
//ResourceEmbedding_resource0262 (generated.ResourceEmbedding_resource0262)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0262 extends BitmapAsset {
}
}//package generated
Section 339
//ResourceEmbedding_resource0263 (generated.ResourceEmbedding_resource0263)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0263 extends BitmapAsset {
}
}//package generated
Section 340
//ResourceEmbedding_resource0264 (generated.ResourceEmbedding_resource0264)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0264 extends BitmapAsset {
}
}//package generated
Section 341
//ResourceEmbedding_resource0265 (generated.ResourceEmbedding_resource0265)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0265 extends BitmapAsset {
}
}//package generated
Section 342
//ResourceEmbedding_resource0266 (generated.ResourceEmbedding_resource0266)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0266 extends BitmapAsset {
}
}//package generated
Section 343
//ResourceEmbedding_resource0267 (generated.ResourceEmbedding_resource0267)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0267 extends BitmapAsset {
}
}//package generated
Section 344
//ResourceEmbedding_resource0268 (generated.ResourceEmbedding_resource0268)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0268 extends BitmapAsset {
}
}//package generated
Section 345
//ResourceEmbedding_resource0269 (generated.ResourceEmbedding_resource0269)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0269 extends BitmapAsset {
}
}//package generated
Section 346
//ResourceEmbedding_resource0270 (generated.ResourceEmbedding_resource0270)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0270 extends BitmapAsset {
}
}//package generated
Section 347
//ResourceEmbedding_resource0271 (generated.ResourceEmbedding_resource0271)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0271 extends BitmapAsset {
}
}//package generated
Section 348
//ResourceEmbedding_resource0272 (generated.ResourceEmbedding_resource0272)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0272 extends BitmapAsset {
}
}//package generated
Section 349
//ResourceEmbedding_resource0273 (generated.ResourceEmbedding_resource0273)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0273 extends BitmapAsset {
}
}//package generated
Section 350
//ResourceEmbedding_resource0274 (generated.ResourceEmbedding_resource0274)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0274 extends BitmapAsset {
}
}//package generated
Section 351
//ResourceEmbedding_resource0275 (generated.ResourceEmbedding_resource0275)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0275 extends BitmapAsset {
}
}//package generated
Section 352
//ResourceEmbedding_resource0276 (generated.ResourceEmbedding_resource0276)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0276 extends BitmapAsset {
}
}//package generated
Section 353
//ResourceEmbedding_resource0277 (generated.ResourceEmbedding_resource0277)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0277 extends BitmapAsset {
}
}//package generated
Section 354
//ResourceEmbedding_resource0278 (generated.ResourceEmbedding_resource0278)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0278 extends BitmapAsset {
}
}//package generated
Section 355
//ResourceEmbedding_resource0279 (generated.ResourceEmbedding_resource0279)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0279 extends BitmapAsset {
}
}//package generated
Section 356
//ResourceEmbedding_resource0280 (generated.ResourceEmbedding_resource0280)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0280 extends BitmapAsset {
}
}//package generated
Section 357
//ResourceEmbedding_resource0281 (generated.ResourceEmbedding_resource0281)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0281 extends BitmapAsset {
}
}//package generated
Section 358
//ResourceEmbedding_resource0282 (generated.ResourceEmbedding_resource0282)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0282 extends BitmapAsset {
}
}//package generated
Section 359
//ResourceEmbedding_resource0283 (generated.ResourceEmbedding_resource0283)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0283 extends BitmapAsset {
}
}//package generated
Section 360
//ResourceEmbedding_resource0284 (generated.ResourceEmbedding_resource0284)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0284 extends BitmapAsset {
}
}//package generated
Section 361
//ResourceEmbedding_resource0285 (generated.ResourceEmbedding_resource0285)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0285 extends BitmapAsset {
}
}//package generated
Section 362
//ResourceEmbedding_resource0286 (generated.ResourceEmbedding_resource0286)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0286 extends BitmapAsset {
}
}//package generated
Section 363
//ResourceEmbedding_resource0287 (generated.ResourceEmbedding_resource0287)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0287 extends BitmapAsset {
}
}//package generated
Section 364
//ResourceEmbedding_resource0288 (generated.ResourceEmbedding_resource0288)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0288 extends BitmapAsset {
}
}//package generated
Section 365
//ResourceEmbedding_resource0289 (generated.ResourceEmbedding_resource0289)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0289 extends BitmapAsset {
}
}//package generated
Section 366
//ResourceEmbedding_resource0290 (generated.ResourceEmbedding_resource0290)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0290 extends BitmapAsset {
}
}//package generated
Section 367
//ResourceEmbedding_resource0291 (generated.ResourceEmbedding_resource0291)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0291 extends BitmapAsset {
}
}//package generated
Section 368
//ResourceEmbedding_resource0292 (generated.ResourceEmbedding_resource0292)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0292 extends BitmapAsset {
}
}//package generated
Section 369
//ResourceEmbedding_resource0293 (generated.ResourceEmbedding_resource0293)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0293 extends BitmapAsset {
}
}//package generated
Section 370
//ResourceEmbedding_resource0294 (generated.ResourceEmbedding_resource0294)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0294 extends BitmapAsset {
}
}//package generated
Section 371
//ResourceEmbedding_resource0295 (generated.ResourceEmbedding_resource0295)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0295 extends BitmapAsset {
}
}//package generated
Section 372
//ResourceEmbedding_resource0296 (generated.ResourceEmbedding_resource0296)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0296 extends BitmapAsset {
}
}//package generated
Section 373
//ResourceEmbedding_resource0297 (generated.ResourceEmbedding_resource0297)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0297 extends BitmapAsset {
}
}//package generated
Section 374
//ResourceEmbedding_resource0298 (generated.ResourceEmbedding_resource0298)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0298 extends BitmapAsset {
}
}//package generated
Section 375
//ResourceEmbedding_resource0299 (generated.ResourceEmbedding_resource0299)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0299 extends BitmapAsset {
}
}//package generated
Section 376
//ResourceEmbedding_resource0300 (generated.ResourceEmbedding_resource0300)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0300 extends BitmapAsset {
}
}//package generated
Section 377
//ResourceEmbedding_resource0301 (generated.ResourceEmbedding_resource0301)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0301 extends BitmapAsset {
}
}//package generated
Section 378
//ResourceEmbedding_resource0302 (generated.ResourceEmbedding_resource0302)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0302 extends BitmapAsset {
}
}//package generated
Section 379
//ResourceEmbedding_resource0303 (generated.ResourceEmbedding_resource0303)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0303 extends BitmapAsset {
}
}//package generated
Section 380
//ResourceEmbedding_resource0304 (generated.ResourceEmbedding_resource0304)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0304 extends BitmapAsset {
}
}//package generated
Section 381
//ResourceEmbedding_resource0305 (generated.ResourceEmbedding_resource0305)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0305 extends BitmapAsset {
}
}//package generated
Section 382
//ResourceEmbedding_resource0306 (generated.ResourceEmbedding_resource0306)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0306 extends BitmapAsset {
}
}//package generated
Section 383
//ResourceEmbedding_resource0307 (generated.ResourceEmbedding_resource0307)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0307 extends BitmapAsset {
}
}//package generated
Section 384
//ResourceEmbedding_resource0308 (generated.ResourceEmbedding_resource0308)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0308 extends BitmapAsset {
}
}//package generated
Section 385
//ResourceEmbedding_resource0309 (generated.ResourceEmbedding_resource0309)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0309 extends BitmapAsset {
}
}//package generated
Section 386
//ResourceEmbedding_resource0310 (generated.ResourceEmbedding_resource0310)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0310 extends BitmapAsset {
}
}//package generated
Section 387
//ResourceEmbedding_resource0311 (generated.ResourceEmbedding_resource0311)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0311 extends BitmapAsset {
}
}//package generated
Section 388
//ResourceEmbedding_resource0312 (generated.ResourceEmbedding_resource0312)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0312 extends BitmapAsset {
}
}//package generated
Section 389
//ResourceEmbedding_resource0313 (generated.ResourceEmbedding_resource0313)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0313 extends BitmapAsset {
}
}//package generated
Section 390
//ResourceEmbedding_resource0314 (generated.ResourceEmbedding_resource0314)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0314 extends BitmapAsset {
}
}//package generated
Section 391
//ResourceEmbedding_resource0315 (generated.ResourceEmbedding_resource0315)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0315 extends BitmapAsset {
}
}//package generated
Section 392
//ResourceEmbedding_resource0316 (generated.ResourceEmbedding_resource0316)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0316 extends BitmapAsset {
}
}//package generated
Section 393
//ResourceEmbedding_resource0317 (generated.ResourceEmbedding_resource0317)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0317 extends BitmapAsset {
}
}//package generated
Section 394
//ResourceEmbedding_resource0318 (generated.ResourceEmbedding_resource0318)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0318 extends BitmapAsset {
}
}//package generated
Section 395
//ResourceEmbedding_resource0319 (generated.ResourceEmbedding_resource0319)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0319 extends BitmapAsset {
}
}//package generated
Section 396
//ResourceEmbedding_resource0320 (generated.ResourceEmbedding_resource0320)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0320 extends BitmapAsset {
}
}//package generated
Section 397
//ResourceEmbedding_resource0321 (generated.ResourceEmbedding_resource0321)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0321 extends BitmapAsset {
}
}//package generated
Section 398
//ResourceEmbedding_resource0322 (generated.ResourceEmbedding_resource0322)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0322 extends BitmapAsset {
}
}//package generated
Section 399
//ResourceEmbedding_resource0323 (generated.ResourceEmbedding_resource0323)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0323 extends BitmapAsset {
}
}//package generated
Section 400
//ResourceEmbedding_resource0324 (generated.ResourceEmbedding_resource0324)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0324 extends BitmapAsset {
}
}//package generated
Section 401
//ResourceEmbedding_resource0325 (generated.ResourceEmbedding_resource0325)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0325 extends BitmapAsset {
}
}//package generated
Section 402
//ResourceEmbedding_resource0326 (generated.ResourceEmbedding_resource0326)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0326 extends BitmapAsset {
}
}//package generated
Section 403
//ResourceEmbedding_resource0327 (generated.ResourceEmbedding_resource0327)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0327 extends BitmapAsset {
}
}//package generated
Section 404
//ResourceEmbedding_resource0328 (generated.ResourceEmbedding_resource0328)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0328 extends BitmapAsset {
}
}//package generated
Section 405
//ResourceEmbedding_resource0329 (generated.ResourceEmbedding_resource0329)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0329 extends BitmapAsset {
}
}//package generated
Section 406
//ResourceEmbedding_resource0330 (generated.ResourceEmbedding_resource0330)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0330 extends BitmapAsset {
}
}//package generated
Section 407
//ResourceEmbedding_resource0331 (generated.ResourceEmbedding_resource0331)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0331 extends BitmapAsset {
}
}//package generated
Section 408
//ResourceEmbedding_resource0332 (generated.ResourceEmbedding_resource0332)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0332 extends BitmapAsset {
}
}//package generated
Section 409
//ResourceEmbedding_resource0333 (generated.ResourceEmbedding_resource0333)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0333 extends BitmapAsset {
}
}//package generated
Section 410
//ResourceEmbedding_resource0334 (generated.ResourceEmbedding_resource0334)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0334 extends BitmapAsset {
}
}//package generated
Section 411
//ResourceEmbedding_resource0335 (generated.ResourceEmbedding_resource0335)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0335 extends BitmapAsset {
}
}//package generated
Section 412
//ResourceEmbedding_resource0336 (generated.ResourceEmbedding_resource0336)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0336 extends BitmapAsset {
}
}//package generated
Section 413
//ResourceEmbedding_resource0337 (generated.ResourceEmbedding_resource0337)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0337 extends BitmapAsset {
}
}//package generated
Section 414
//ResourceEmbedding_resource0338 (generated.ResourceEmbedding_resource0338)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0338 extends BitmapAsset {
}
}//package generated
Section 415
//ResourceEmbedding_resource0339 (generated.ResourceEmbedding_resource0339)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0339 extends BitmapAsset {
}
}//package generated
Section 416
//ResourceEmbedding_resource0340 (generated.ResourceEmbedding_resource0340)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0340 extends BitmapAsset {
}
}//package generated
Section 417
//ResourceEmbedding_resource0341 (generated.ResourceEmbedding_resource0341)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0341 extends BitmapAsset {
}
}//package generated
Section 418
//ResourceEmbedding_resource0342 (generated.ResourceEmbedding_resource0342)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0342 extends BitmapAsset {
}
}//package generated
Section 419
//ResourceEmbedding_resource0343 (generated.ResourceEmbedding_resource0343)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0343 extends BitmapAsset {
}
}//package generated
Section 420
//ResourceEmbedding_resource0344 (generated.ResourceEmbedding_resource0344)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0344 extends BitmapAsset {
}
}//package generated
Section 421
//ResourceEmbedding_resource0345 (generated.ResourceEmbedding_resource0345)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0345 extends BitmapAsset {
}
}//package generated
Section 422
//ResourceEmbedding_resource0346 (generated.ResourceEmbedding_resource0346)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0346 extends BitmapAsset {
}
}//package generated
Section 423
//ResourceEmbedding_resource0347 (generated.ResourceEmbedding_resource0347)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0347 extends BitmapAsset {
}
}//package generated
Section 424
//ResourceEmbedding_resource0348 (generated.ResourceEmbedding_resource0348)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0348 extends BitmapAsset {
}
}//package generated
Section 425
//ResourceEmbedding_resource0349 (generated.ResourceEmbedding_resource0349)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0349 extends BitmapAsset {
}
}//package generated
Section 426
//ResourceEmbedding_resource0350 (generated.ResourceEmbedding_resource0350)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0350 extends BitmapAsset {
}
}//package generated
Section 427
//ResourceEmbedding_resource0351 (generated.ResourceEmbedding_resource0351)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0351 extends BitmapAsset {
}
}//package generated
Section 428
//ResourceEmbedding_resource0352 (generated.ResourceEmbedding_resource0352)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0352 extends BitmapAsset {
}
}//package generated
Section 429
//ResourceEmbedding_resource0353 (generated.ResourceEmbedding_resource0353)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0353 extends BitmapAsset {
}
}//package generated
Section 430
//ResourceEmbedding_resource0354 (generated.ResourceEmbedding_resource0354)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0354 extends BitmapAsset {
}
}//package generated
Section 431
//ResourceEmbedding_resource0355 (generated.ResourceEmbedding_resource0355)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0355 extends BitmapAsset {
}
}//package generated
Section 432
//ResourceEmbedding_resource0356 (generated.ResourceEmbedding_resource0356)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0356 extends BitmapAsset {
}
}//package generated
Section 433
//ResourceEmbedding_resource0357 (generated.ResourceEmbedding_resource0357)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0357 extends BitmapAsset {
}
}//package generated
Section 434
//ResourceEmbedding_resource0358 (generated.ResourceEmbedding_resource0358)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0358 extends BitmapAsset {
}
}//package generated
Section 435
//ResourceEmbedding_resource0359 (generated.ResourceEmbedding_resource0359)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0359 extends BitmapAsset {
}
}//package generated
Section 436
//ResourceEmbedding_resource0360 (generated.ResourceEmbedding_resource0360)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0360 extends BitmapAsset {
}
}//package generated
Section 437
//ResourceEmbedding_resource0361 (generated.ResourceEmbedding_resource0361)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0361 extends BitmapAsset {
}
}//package generated
Section 438
//ResourceEmbedding_resource0362 (generated.ResourceEmbedding_resource0362)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0362 extends BitmapAsset {
}
}//package generated
Section 439
//ResourceEmbedding_resource0363 (generated.ResourceEmbedding_resource0363)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0363 extends BitmapAsset {
}
}//package generated
Section 440
//ResourceEmbedding_resource0364 (generated.ResourceEmbedding_resource0364)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0364 extends BitmapAsset {
}
}//package generated
Section 441
//ResourceEmbedding_resource0365 (generated.ResourceEmbedding_resource0365)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0365 extends BitmapAsset {
}
}//package generated
Section 442
//ResourceEmbedding_resource0366 (generated.ResourceEmbedding_resource0366)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0366 extends BitmapAsset {
}
}//package generated
Section 443
//ResourceEmbedding_resource0367 (generated.ResourceEmbedding_resource0367)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0367 extends BitmapAsset {
}
}//package generated
Section 444
//ResourceEmbedding_resource0368 (generated.ResourceEmbedding_resource0368)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0368 extends BitmapAsset {
}
}//package generated
Section 445
//ResourceEmbedding_resource0369 (generated.ResourceEmbedding_resource0369)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0369 extends BitmapAsset {
}
}//package generated
Section 446
//ResourceEmbedding_resource0370 (generated.ResourceEmbedding_resource0370)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0370 extends BitmapAsset {
}
}//package generated
Section 447
//ResourceEmbedding_resource0371 (generated.ResourceEmbedding_resource0371)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0371 extends BitmapAsset {
}
}//package generated
Section 448
//ResourceEmbedding_resource0372 (generated.ResourceEmbedding_resource0372)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0372 extends BitmapAsset {
}
}//package generated
Section 449
//ResourceEmbedding_resource0373 (generated.ResourceEmbedding_resource0373)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0373 extends BitmapAsset {
}
}//package generated
Section 450
//ResourceEmbedding_resource0374 (generated.ResourceEmbedding_resource0374)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0374 extends BitmapAsset {
}
}//package generated
Section 451
//ResourceEmbedding_resource0375 (generated.ResourceEmbedding_resource0375)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0375 extends BitmapAsset {
}
}//package generated
Section 452
//ResourceEmbedding_resource0376 (generated.ResourceEmbedding_resource0376)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0376 extends BitmapAsset {
}
}//package generated
Section 453
//ResourceEmbedding_resource0377 (generated.ResourceEmbedding_resource0377)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0377 extends BitmapAsset {
}
}//package generated
Section 454
//ResourceEmbedding_resource0378 (generated.ResourceEmbedding_resource0378)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0378 extends BitmapAsset {
}
}//package generated
Section 455
//ResourceEmbedding_resource0379 (generated.ResourceEmbedding_resource0379)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0379 extends BitmapAsset {
}
}//package generated
Section 456
//ResourceEmbedding_resource0380 (generated.ResourceEmbedding_resource0380)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0380 extends BitmapAsset {
}
}//package generated
Section 457
//ResourceEmbedding_resource0381 (generated.ResourceEmbedding_resource0381)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0381 extends BitmapAsset {
}
}//package generated
Section 458
//ResourceEmbedding_resource0382 (generated.ResourceEmbedding_resource0382)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0382 extends BitmapAsset {
}
}//package generated
Section 459
//ResourceEmbedding_resource0383 (generated.ResourceEmbedding_resource0383)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0383 extends BitmapAsset {
}
}//package generated
Section 460
//ResourceEmbedding_resource0384 (generated.ResourceEmbedding_resource0384)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0384 extends BitmapAsset {
}
}//package generated
Section 461
//ResourceEmbedding_resource0385 (generated.ResourceEmbedding_resource0385)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0385 extends BitmapAsset {
}
}//package generated
Section 462
//ResourceEmbedding_resource0386 (generated.ResourceEmbedding_resource0386)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0386 extends BitmapAsset {
}
}//package generated
Section 463
//ResourceEmbedding_resource0387 (generated.ResourceEmbedding_resource0387)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0387 extends BitmapAsset {
}
}//package generated
Section 464
//ResourceEmbedding_resource0388 (generated.ResourceEmbedding_resource0388)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0388 extends BitmapAsset {
}
}//package generated
Section 465
//ResourceEmbedding_resource0389 (generated.ResourceEmbedding_resource0389)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0389 extends BitmapAsset {
}
}//package generated
Section 466
//ResourceEmbedding_resource0390 (generated.ResourceEmbedding_resource0390)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0390 extends BitmapAsset {
}
}//package generated
Section 467
//ResourceEmbedding_resource0391 (generated.ResourceEmbedding_resource0391)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0391 extends BitmapAsset {
}
}//package generated
Section 468
//ResourceEmbedding_resource0392 (generated.ResourceEmbedding_resource0392)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0392 extends BitmapAsset {
}
}//package generated
Section 469
//ResourceEmbedding_resource0393 (generated.ResourceEmbedding_resource0393)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0393 extends BitmapAsset {
}
}//package generated
Section 470
//ResourceEmbedding_resource0394 (generated.ResourceEmbedding_resource0394)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0394 extends BitmapAsset {
}
}//package generated
Section 471
//ResourceEmbedding_resource0395 (generated.ResourceEmbedding_resource0395)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0395 extends BitmapAsset {
}
}//package generated
Section 472
//ResourceEmbedding_resource0396 (generated.ResourceEmbedding_resource0396)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0396 extends BitmapAsset {
}
}//package generated
Section 473
//ResourceEmbedding_resource0397 (generated.ResourceEmbedding_resource0397)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0397 extends BitmapAsset {
}
}//package generated
Section 474
//ResourceEmbedding_resource0398 (generated.ResourceEmbedding_resource0398)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0398 extends BitmapAsset {
}
}//package generated
Section 475
//ResourceEmbedding_resource0399 (generated.ResourceEmbedding_resource0399)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0399 extends BitmapAsset {
}
}//package generated
Section 476
//ResourceEmbedding_resource0400 (generated.ResourceEmbedding_resource0400)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0400 extends BitmapAsset {
}
}//package generated
Section 477
//ResourceEmbedding_resource0401 (generated.ResourceEmbedding_resource0401)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0401 extends BitmapAsset {
}
}//package generated
Section 478
//ResourceEmbedding_resource0402 (generated.ResourceEmbedding_resource0402)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0402 extends BitmapAsset {
}
}//package generated
Section 479
//ResourceEmbedding_resource0403 (generated.ResourceEmbedding_resource0403)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0403 extends BitmapAsset {
}
}//package generated
Section 480
//ResourceEmbedding_resource0404 (generated.ResourceEmbedding_resource0404)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0404 extends BitmapAsset {
}
}//package generated
Section 481
//ResourceEmbedding_resource0405 (generated.ResourceEmbedding_resource0405)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0405 extends BitmapAsset {
}
}//package generated
Section 482
//ResourceEmbedding_resource0406 (generated.ResourceEmbedding_resource0406)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0406 extends BitmapAsset {
}
}//package generated
Section 483
//ResourceEmbedding_resource0407 (generated.ResourceEmbedding_resource0407)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0407 extends BitmapAsset {
}
}//package generated
Section 484
//ResourceEmbedding_resource0408 (generated.ResourceEmbedding_resource0408)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0408 extends BitmapAsset {
}
}//package generated
Section 485
//ResourceEmbedding_resource0409 (generated.ResourceEmbedding_resource0409)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0409 extends BitmapAsset {
}
}//package generated
Section 486
//ResourceEmbedding_resource0410 (generated.ResourceEmbedding_resource0410)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0410 extends BitmapAsset {
}
}//package generated
Section 487
//ResourceEmbedding_resource0411 (generated.ResourceEmbedding_resource0411)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0411 extends BitmapAsset {
}
}//package generated
Section 488
//ResourceEmbedding_resource0412 (generated.ResourceEmbedding_resource0412)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0412 extends BitmapAsset {
}
}//package generated
Section 489
//ResourceEmbedding_resource0413 (generated.ResourceEmbedding_resource0413)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0413 extends BitmapAsset {
}
}//package generated
Section 490
//ResourceEmbedding_resource0414 (generated.ResourceEmbedding_resource0414)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0414 extends BitmapAsset {
}
}//package generated
Section 491
//ResourceEmbedding_resource0415 (generated.ResourceEmbedding_resource0415)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0415 extends BitmapAsset {
}
}//package generated
Section 492
//ResourceEmbedding_resource0416 (generated.ResourceEmbedding_resource0416)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0416 extends BitmapAsset {
}
}//package generated
Section 493
//ResourceEmbedding_resource0417 (generated.ResourceEmbedding_resource0417)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0417 extends BitmapAsset {
}
}//package generated
Section 494
//ResourceEmbedding_resource0418 (generated.ResourceEmbedding_resource0418)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0418 extends BitmapAsset {
}
}//package generated
Section 495
//ResourceEmbedding_resource0419 (generated.ResourceEmbedding_resource0419)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0419 extends BitmapAsset {
}
}//package generated
Section 496
//ResourceEmbedding_resource0420 (generated.ResourceEmbedding_resource0420)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0420 extends BitmapAsset {
}
}//package generated
Section 497
//ResourceEmbedding_resource0421 (generated.ResourceEmbedding_resource0421)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0421 extends BitmapAsset {
}
}//package generated
Section 498
//ResourceEmbedding_resource0422 (generated.ResourceEmbedding_resource0422)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0422 extends BitmapAsset {
}
}//package generated
Section 499
//ResourceEmbedding_resource0423 (generated.ResourceEmbedding_resource0423)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0423 extends BitmapAsset {
}
}//package generated
Section 500
//ResourceEmbedding_resource0424 (generated.ResourceEmbedding_resource0424)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0424 extends BitmapAsset {
}
}//package generated
Section 501
//ResourceEmbedding_resource0425 (generated.ResourceEmbedding_resource0425)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0425 extends BitmapAsset {
}
}//package generated
Section 502
//ResourceEmbedding_resource0426 (generated.ResourceEmbedding_resource0426)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0426 extends BitmapAsset {
}
}//package generated
Section 503
//ResourceEmbedding_resource0427 (generated.ResourceEmbedding_resource0427)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0427 extends BitmapAsset {
}
}//package generated
Section 504
//ResourceEmbedding_resource0428 (generated.ResourceEmbedding_resource0428)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0428 extends BitmapAsset {
}
}//package generated
Section 505
//ResourceEmbedding_resource0429 (generated.ResourceEmbedding_resource0429)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0429 extends BitmapAsset {
}
}//package generated
Section 506
//ResourceEmbedding_resource0430 (generated.ResourceEmbedding_resource0430)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0430 extends BitmapAsset {
}
}//package generated
Section 507
//ResourceEmbedding_resource0431 (generated.ResourceEmbedding_resource0431)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0431 extends BitmapAsset {
}
}//package generated
Section 508
//ResourceEmbedding_resource0432 (generated.ResourceEmbedding_resource0432)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0432 extends BitmapAsset {
}
}//package generated
Section 509
//ResourceEmbedding_resource0433 (generated.ResourceEmbedding_resource0433)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0433 extends BitmapAsset {
}
}//package generated
Section 510
//ResourceEmbedding_resource0434 (generated.ResourceEmbedding_resource0434)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0434 extends BitmapAsset {
}
}//package generated
Section 511
//ResourceEmbedding_resource0435 (generated.ResourceEmbedding_resource0435)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0435 extends BitmapAsset {
}
}//package generated
Section 512
//ResourceEmbedding_resource0436 (generated.ResourceEmbedding_resource0436)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0436 extends BitmapAsset {
}
}//package generated
Section 513
//ResourceEmbedding_resource0437 (generated.ResourceEmbedding_resource0437)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0437 extends BitmapAsset {
}
}//package generated
Section 514
//ResourceEmbedding_resource0438 (generated.ResourceEmbedding_resource0438)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0438 extends BitmapAsset {
}
}//package generated
Section 515
//ResourceEmbedding_resource0439 (generated.ResourceEmbedding_resource0439)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0439 extends BitmapAsset {
}
}//package generated
Section 516
//ResourceEmbedding_resource0440 (generated.ResourceEmbedding_resource0440)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0440 extends BitmapAsset {
}
}//package generated
Section 517
//ResourceEmbedding_resource0441 (generated.ResourceEmbedding_resource0441)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0441 extends BitmapAsset {
}
}//package generated
Section 518
//ResourceEmbedding_resource0442 (generated.ResourceEmbedding_resource0442)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0442 extends BitmapAsset {
}
}//package generated
Section 519
//ResourceEmbedding_resource0443 (generated.ResourceEmbedding_resource0443)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0443 extends BitmapAsset {
}
}//package generated
Section 520
//ResourceEmbedding_resource0444 (generated.ResourceEmbedding_resource0444)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0444 extends BitmapAsset {
}
}//package generated
Section 521
//ResourceEmbedding_resource0445 (generated.ResourceEmbedding_resource0445)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0445 extends BitmapAsset {
}
}//package generated
Section 522
//ResourceEmbedding_resource0446 (generated.ResourceEmbedding_resource0446)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0446 extends BitmapAsset {
}
}//package generated
Section 523
//ResourceEmbedding_resource0447 (generated.ResourceEmbedding_resource0447)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0447 extends BitmapAsset {
}
}//package generated
Section 524
//ResourceEmbedding_resource0448 (generated.ResourceEmbedding_resource0448)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0448 extends BitmapAsset {
}
}//package generated
Section 525
//ResourceEmbedding_resource0449 (generated.ResourceEmbedding_resource0449)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0449 extends BitmapAsset {
}
}//package generated
Section 526
//ResourceEmbedding_resource0450 (generated.ResourceEmbedding_resource0450)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0450 extends BitmapAsset {
}
}//package generated
Section 527
//ResourceEmbedding_resource0451 (generated.ResourceEmbedding_resource0451)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0451 extends BitmapAsset {
}
}//package generated
Section 528
//ResourceEmbedding_resource0452 (generated.ResourceEmbedding_resource0452)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0452 extends BitmapAsset {
}
}//package generated
Section 529
//ResourceEmbedding_resource0453 (generated.ResourceEmbedding_resource0453)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0453 extends BitmapAsset {
}
}//package generated
Section 530
//ResourceEmbedding_resource0454 (generated.ResourceEmbedding_resource0454)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0454 extends BitmapAsset {
}
}//package generated
Section 531
//ResourceEmbedding_resource0455 (generated.ResourceEmbedding_resource0455)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0455 extends BitmapAsset {
}
}//package generated
Section 532
//ResourceEmbedding_resource0456 (generated.ResourceEmbedding_resource0456)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0456 extends BitmapAsset {
}
}//package generated
Section 533
//ResourceEmbedding_resource0457 (generated.ResourceEmbedding_resource0457)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0457 extends BitmapAsset {
}
}//package generated
Section 534
//ResourceEmbedding_resource0458 (generated.ResourceEmbedding_resource0458)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0458 extends BitmapAsset {
}
}//package generated
Section 535
//ResourceEmbedding_resource0459 (generated.ResourceEmbedding_resource0459)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0459 extends BitmapAsset {
}
}//package generated
Section 536
//ResourceEmbedding_resource0460 (generated.ResourceEmbedding_resource0460)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0460 extends BitmapAsset {
}
}//package generated
Section 537
//ResourceEmbedding_resource0461 (generated.ResourceEmbedding_resource0461)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0461 extends BitmapAsset {
}
}//package generated
Section 538
//ResourceEmbedding_resource0462 (generated.ResourceEmbedding_resource0462)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0462 extends BitmapAsset {
}
}//package generated
Section 539
//ResourceEmbedding_resource0463 (generated.ResourceEmbedding_resource0463)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0463 extends BitmapAsset {
}
}//package generated
Section 540
//ResourceEmbedding_resource0464 (generated.ResourceEmbedding_resource0464)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0464 extends BitmapAsset {
}
}//package generated
Section 541
//ResourceEmbedding_resource0465 (generated.ResourceEmbedding_resource0465)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0465 extends BitmapAsset {
}
}//package generated
Section 542
//ResourceEmbedding_resource0466 (generated.ResourceEmbedding_resource0466)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0466 extends BitmapAsset {
}
}//package generated
Section 543
//ResourceEmbedding_resource0467 (generated.ResourceEmbedding_resource0467)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0467 extends BitmapAsset {
}
}//package generated
Section 544
//ResourceEmbedding_resource0468 (generated.ResourceEmbedding_resource0468)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0468 extends BitmapAsset {
}
}//package generated
Section 545
//ResourceEmbedding_resource0469 (generated.ResourceEmbedding_resource0469)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0469 extends BitmapAsset {
}
}//package generated
Section 546
//ResourceEmbedding_resource0470 (generated.ResourceEmbedding_resource0470)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0470 extends BitmapAsset {
}
}//package generated
Section 547
//ResourceEmbedding_resource0471 (generated.ResourceEmbedding_resource0471)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0471 extends BitmapAsset {
}
}//package generated
Section 548
//ResourceEmbedding_resource0472 (generated.ResourceEmbedding_resource0472)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0472 extends BitmapAsset {
}
}//package generated
Section 549
//ResourceEmbedding_resource0473 (generated.ResourceEmbedding_resource0473)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0473 extends BitmapAsset {
}
}//package generated
Section 550
//ResourceEmbedding_resource0474 (generated.ResourceEmbedding_resource0474)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0474 extends BitmapAsset {
}
}//package generated
Section 551
//ResourceEmbedding_resource0475 (generated.ResourceEmbedding_resource0475)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0475 extends BitmapAsset {
}
}//package generated
Section 552
//ResourceEmbedding_resource0476 (generated.ResourceEmbedding_resource0476)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0476 extends BitmapAsset {
}
}//package generated
Section 553
//ResourceEmbedding_resource0477 (generated.ResourceEmbedding_resource0477)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0477 extends BitmapAsset {
}
}//package generated
Section 554
//ResourceEmbedding_resource0478 (generated.ResourceEmbedding_resource0478)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0478 extends BitmapAsset {
}
}//package generated
Section 555
//ResourceEmbedding_resource0479 (generated.ResourceEmbedding_resource0479)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0479 extends BitmapAsset {
}
}//package generated
Section 556
//ResourceEmbedding_resource0480 (generated.ResourceEmbedding_resource0480)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0480 extends BitmapAsset {
}
}//package generated
Section 557
//ResourceEmbedding_resource0481 (generated.ResourceEmbedding_resource0481)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0481 extends BitmapAsset {
}
}//package generated
Section 558
//ResourceEmbedding_resource0482 (generated.ResourceEmbedding_resource0482)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0482 extends BitmapAsset {
}
}//package generated
Section 559
//ResourceEmbedding_resource0483 (generated.ResourceEmbedding_resource0483)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0483 extends BitmapAsset {
}
}//package generated
Section 560
//ResourceEmbedding_resource0484 (generated.ResourceEmbedding_resource0484)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0484 extends BitmapAsset {
}
}//package generated
Section 561
//ResourceEmbedding_resource0485 (generated.ResourceEmbedding_resource0485)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0485 extends BitmapAsset {
}
}//package generated
Section 562
//ResourceEmbedding_resource0486 (generated.ResourceEmbedding_resource0486)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0486 extends BitmapAsset {
}
}//package generated
Section 563
//ResourceEmbedding_resource0487 (generated.ResourceEmbedding_resource0487)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0487 extends BitmapAsset {
}
}//package generated
Section 564
//ResourceEmbedding_resource0488 (generated.ResourceEmbedding_resource0488)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0488 extends BitmapAsset {
}
}//package generated
Section 565
//ResourceEmbedding_resource0489 (generated.ResourceEmbedding_resource0489)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0489 extends BitmapAsset {
}
}//package generated
Section 566
//ResourceEmbedding_resource0490 (generated.ResourceEmbedding_resource0490)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0490 extends BitmapAsset {
}
}//package generated
Section 567
//ResourceEmbedding_resource0491 (generated.ResourceEmbedding_resource0491)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0491 extends BitmapAsset {
}
}//package generated
Section 568
//ResourceEmbedding_resource0492 (generated.ResourceEmbedding_resource0492)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0492 extends BitmapAsset {
}
}//package generated
Section 569
//ResourceEmbedding_resource0493 (generated.ResourceEmbedding_resource0493)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0493 extends BitmapAsset {
}
}//package generated
Section 570
//ResourceEmbedding_resource0494 (generated.ResourceEmbedding_resource0494)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0494 extends BitmapAsset {
}
}//package generated
Section 571
//ResourceEmbedding_resource0495 (generated.ResourceEmbedding_resource0495)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0495 extends BitmapAsset {
}
}//package generated
Section 572
//ResourceEmbedding_resource0496 (generated.ResourceEmbedding_resource0496)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0496 extends BitmapAsset {
}
}//package generated
Section 573
//ResourceEmbedding_resource0497 (generated.ResourceEmbedding_resource0497)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0497 extends BitmapAsset {
}
}//package generated
Section 574
//ResourceEmbedding_resource0498 (generated.ResourceEmbedding_resource0498)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0498 extends BitmapAsset {
}
}//package generated
Section 575
//ResourceEmbedding_resource0499 (generated.ResourceEmbedding_resource0499)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0499 extends BitmapAsset {
}
}//package generated
Section 576
//ResourceEmbedding_resource0500 (generated.ResourceEmbedding_resource0500)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0500 extends SoundAsset {
}
}//package generated
Section 577
//ResourceEmbedding_resource0501 (generated.ResourceEmbedding_resource0501)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0501 extends SoundAsset {
}
}//package generated
Section 578
//ResourceEmbedding_resource0502 (generated.ResourceEmbedding_resource0502)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0502 extends SoundAsset {
}
}//package generated
Section 579
//ResourceEmbedding_resource0503 (generated.ResourceEmbedding_resource0503)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0503 extends SoundAsset {
}
}//package generated
Section 580
//ResourceEmbedding_resource0504 (generated.ResourceEmbedding_resource0504)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0504 extends SoundAsset {
}
}//package generated
Section 581
//ResourceEmbedding_resource0505 (generated.ResourceEmbedding_resource0505)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0505 extends SoundAsset {
}
}//package generated
Section 582
//ResourceEmbedding_resource0506 (generated.ResourceEmbedding_resource0506)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0506 extends SoundAsset {
}
}//package generated
Section 583
//ResourceEmbedding_resource0507 (generated.ResourceEmbedding_resource0507)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0507 extends SoundAsset {
}
}//package generated
Section 584
//ResourceEmbedding_resource0508 (generated.ResourceEmbedding_resource0508)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0508 extends SoundAsset {
}
}//package generated
Section 585
//ResourceEmbedding_resource0509 (generated.ResourceEmbedding_resource0509)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0509 extends SoundAsset {
}
}//package generated
Section 586
//ResourceEmbedding_resource0510 (generated.ResourceEmbedding_resource0510)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0510 extends SoundAsset {
}
}//package generated
Section 587
//ResourceEmbedding_resource0511 (generated.ResourceEmbedding_resource0511)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0511 extends SoundAsset {
}
}//package generated
Section 588
//ResourceEmbedding_resource0512 (generated.ResourceEmbedding_resource0512)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0512 extends SoundAsset {
}
}//package generated
Section 589
//ResourceEmbedding_resource0513 (generated.ResourceEmbedding_resource0513)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0513 extends SoundAsset {
}
}//package generated
Section 590
//ResourceEmbedding_resource0514 (generated.ResourceEmbedding_resource0514)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0514 extends SoundAsset {
}
}//package generated
Section 591
//ResourceEmbedding_resource0515 (generated.ResourceEmbedding_resource0515)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0515 extends SoundAsset {
}
}//package generated
Section 592
//ResourceEmbedding_resource0516 (generated.ResourceEmbedding_resource0516)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0516 extends SoundAsset {
}
}//package generated
Section 593
//ResourceEmbedding_resource0517 (generated.ResourceEmbedding_resource0517)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0517 extends SoundAsset {
}
}//package generated
Section 594
//ResourceEmbedding_resource0518 (generated.ResourceEmbedding_resource0518)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0518 extends SoundAsset {
}
}//package generated
Section 595
//ResourceEmbedding_resource0519 (generated.ResourceEmbedding_resource0519)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0519 extends SoundAsset {
}
}//package generated
Section 596
//ResourceEmbedding_resource0520 (generated.ResourceEmbedding_resource0520)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0520 extends SoundAsset {
}
}//package generated
Section 597
//ResourceEmbedding_resource0521 (generated.ResourceEmbedding_resource0521)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0521 extends SoundAsset {
}
}//package generated
Section 598
//ResourceEmbedding_resource0522 (generated.ResourceEmbedding_resource0522)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0522 extends SoundAsset {
}
}//package generated
Section 599
//ResourceEmbedding_resource0523 (generated.ResourceEmbedding_resource0523)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0523 extends SoundAsset {
}
}//package generated
Section 600
//ResourceEmbedding_resource0524 (generated.ResourceEmbedding_resource0524)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0524 extends SoundAsset {
}
}//package generated
Section 601
//ResourceEmbedding_resource0525 (generated.ResourceEmbedding_resource0525)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0525 extends SoundAsset {
}
}//package generated
Section 602
//ResourceEmbedding_resource0526 (generated.ResourceEmbedding_resource0526)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0526 extends SoundAsset {
}
}//package generated
Section 603
//ResourceEmbedding_resource0527 (generated.ResourceEmbedding_resource0527)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0527 extends SoundAsset {
}
}//package generated
Section 604
//ResourceEmbedding_resource0528 (generated.ResourceEmbedding_resource0528)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0528 extends SoundAsset {
}
}//package generated
Section 605
//ResourceEmbedding_resource0529 (generated.ResourceEmbedding_resource0529)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0529 extends SoundAsset {
}
}//package generated
Section 606
//ResourceEmbedding_resource0530 (generated.ResourceEmbedding_resource0530)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0530 extends SoundAsset {
}
}//package generated
Section 607
//ResourceEmbedding_resource0531 (generated.ResourceEmbedding_resource0531)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0531 extends SoundAsset {
}
}//package generated
Section 608
//ResourceEmbedding_resource0532 (generated.ResourceEmbedding_resource0532)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0532 extends SoundAsset {
}
}//package generated
Section 609
//ResourceEmbedding_resource0533 (generated.ResourceEmbedding_resource0533)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0533 extends SoundAsset {
}
}//package generated
Section 610
//ResourceEmbedding_resource0534 (generated.ResourceEmbedding_resource0534)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0534 extends SoundAsset {
}
}//package generated
Section 611
//ResourceEmbedding_resource0535 (generated.ResourceEmbedding_resource0535)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0535 extends SoundAsset {
}
}//package generated
Section 612
//ResourceEmbedding_resource0536 (generated.ResourceEmbedding_resource0536)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0536 extends SoundAsset {
}
}//package generated
Section 613
//ResourceEmbedding_resource0537 (generated.ResourceEmbedding_resource0537)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0537 extends SoundAsset {
}
}//package generated
Section 614
//ResourceEmbedding_resource0538 (generated.ResourceEmbedding_resource0538)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0538 extends SoundAsset {
}
}//package generated
Section 615
//ResourceEmbedding_resource0539 (generated.ResourceEmbedding_resource0539)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0539 extends SoundAsset {
}
}//package generated
Section 616
//ResourceEmbedding_resource0540 (generated.ResourceEmbedding_resource0540)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0540 extends SoundAsset {
}
}//package generated
Section 617
//ResourceEmbedding_resource0541 (generated.ResourceEmbedding_resource0541)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0541 extends SoundAsset {
}
}//package generated
Section 618
//ResourceEmbedding_resource0542 (generated.ResourceEmbedding_resource0542)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0542 extends SoundAsset {
}
}//package generated
Section 619
//ResourceEmbedding_resource0543 (generated.ResourceEmbedding_resource0543)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0543 extends SoundAsset {
}
}//package generated
Section 620
//ResourceEmbedding_resource0544 (generated.ResourceEmbedding_resource0544)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0544 extends SoundAsset {
}
}//package generated
Section 621
//ResourceEmbedding_resource0545 (generated.ResourceEmbedding_resource0545)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0545 extends SoundAsset {
}
}//package generated
Section 622
//ResourceEmbedding_resource0546 (generated.ResourceEmbedding_resource0546)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0546 extends SoundAsset {
}
}//package generated
Section 623
//ResourceEmbedding_resource0547 (generated.ResourceEmbedding_resource0547)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0547 extends SoundAsset {
}
}//package generated
Section 624
//ResourceEmbedding_resource0548 (generated.ResourceEmbedding_resource0548)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0548 extends SoundAsset {
}
}//package generated
Section 625
//ResourceEmbedding_resource0549 (generated.ResourceEmbedding_resource0549)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0549 extends SoundAsset {
}
}//package generated
Section 626
//ResourceEmbedding_resource0550 (generated.ResourceEmbedding_resource0550)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0550 extends SoundAsset {
}
}//package generated
Section 627
//ResourceEmbedding_resource0551 (generated.ResourceEmbedding_resource0551)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0551 extends SoundAsset {
}
}//package generated
Section 628
//ResourceEmbedding_resource0552 (generated.ResourceEmbedding_resource0552)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0552 extends SoundAsset {
}
}//package generated
Section 629
//ResourceEmbedding_resource0553 (generated.ResourceEmbedding_resource0553)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0553 extends SoundAsset {
}
}//package generated
Section 630
//ResourceEmbedding_resource0554 (generated.ResourceEmbedding_resource0554)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0554 extends SoundAsset {
}
}//package generated
Section 631
//ResourceEmbedding_resource0555 (generated.ResourceEmbedding_resource0555)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0555 extends SoundAsset {
}
}//package generated
Section 632
//ResourceEmbedding_resource0556 (generated.ResourceEmbedding_resource0556)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0556 extends SoundAsset {
}
}//package generated
Section 633
//ResourceEmbedding_resource0557 (generated.ResourceEmbedding_resource0557)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0557 extends SoundAsset {
}
}//package generated
Section 634
//ResourceEmbedding_resource0558 (generated.ResourceEmbedding_resource0558)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0558 extends SoundAsset {
}
}//package generated
Section 635
//ResourceEmbedding_resource0559 (generated.ResourceEmbedding_resource0559)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0559 extends SoundAsset {
}
}//package generated
Section 636
//ResourceEmbedding_resource0560 (generated.ResourceEmbedding_resource0560)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0560 extends SoundAsset {
}
}//package generated
Section 637
//ResourceEmbedding_resource0561 (generated.ResourceEmbedding_resource0561)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0561 extends SoundAsset {
}
}//package generated
Section 638
//ResourceEmbedding_resource0562 (generated.ResourceEmbedding_resource0562)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0562 extends SoundAsset {
}
}//package generated
Section 639
//ResourceEmbedding_resource0563 (generated.ResourceEmbedding_resource0563)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0563 extends SoundAsset {
}
}//package generated
Section 640
//ResourceEmbedding_resource0564 (generated.ResourceEmbedding_resource0564)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0564 extends SoundAsset {
}
}//package generated
Section 641
//ResourceEmbedding_resource0565 (generated.ResourceEmbedding_resource0565)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0565 extends ByteArrayAsset {
}
}//package generated
Section 642
//ResourceEmbedding_resource0566 (generated.ResourceEmbedding_resource0566)
package generated {
import mx.core.*;
public class ResourceEmbedding_resource0566 extends ByteArrayAsset {
}
}//package generated
Section 643
//GameObject (genius.actor.GameObject)
package genius.actor {
import genius.component.*;
import genius.resource.config.*;
import genius.util.*;
import genius.events.*;
import genius.physics.*;
public class GameObject extends LinkedList {
public var config;
public var _dead:Boolean;
public var locked:Boolean;// = false
protected var eventTable:Object;
private var component:Object;
public function die(_arg1:Engine):void{
if (!_dead){
_dead = true;
_arg1.gom.destroyObject(this);
};
}
public function _dispatchEvent(_arg1:GameEvent):void{
var _local2:Array;
var _local3:Function;
if (eventTable){
_local2 = eventTable[_arg1.type];
if (_local2){
for each (_local3 in _local2) {
_local3(_arg1);
};
};
};
}
public function getComponent(_arg1:String, _arg2:Class){
if (locked){
throw (new Error("Cannot access components while object is locked."));
};
if ((_arg1 in component)){
return ((component[_arg1] as _arg2));
};
return (null);
}
public function addEventListener(_arg1:String, _arg2:Function):void{
if (!eventTable){
eventTable = new Object();
};
if ((_arg1 in eventTable)){
eventTable[_arg1].push(_arg2);
} else {
eventTable[_arg1] = [_arg2];
};
}
public function dispatchEvent(_arg1:Class, ... _args):void{
var _local3:Array;
var _local4:GameEvent;
var _local5:Function;
if (eventTable){
_local3 = eventTable[(_arg1 as Object).id()];
if (_local3){
switch (_args.length){
case 0:
_local4 = new (_arg1);
break;
case 1:
_local4 = new _arg1(_args[0]);
break;
case 2:
_local4 = new _arg1(_args[0], _args[1]);
break;
case 3:
_local4 = new _arg1(_args[0], _args[1], _args[2]);
break;
case 4:
_local4 = new _arg1(_args[0], _args[1], _args[2], _args[3]);
break;
case 5:
_local4 = new _arg1(_args[0], _args[1], _args[2], _args[3], _args[4]);
break;
};
for each (_local5 in _local3) {
_local5(_local4);
};
};
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Array = eventTable[_arg1];
var _local4:int = _local3.indexOf(_arg2);
_local3.splice(_local4, 1);
if (_local3.length == 0){
delete eventTable[_arg1];
};
}
public function tick(_arg1:Engine, _arg2:Number):void{
}
public function get dead():Boolean{
return (_dead);
}
public function configure(_arg1:Engine, _arg2:EntityConfig):void{
var _local3:String;
var _local4:IComponent;
var _local5:ComponentConfig;
this.config = _arg2;
component = new Object();
_dead = false;
locked = true;
for each (_local5 in _arg2.component) {
_local4 = _local5.type.createComponent(_arg1, this, _local5.data);
attachComponent(_local4, _local5.name);
};
locked = false;
for (_local3 in component) {
component[_local3].link(_arg1, this);
};
postConfigure(_arg1, _arg2);
}
public function frame(_arg1:Engine, _arg2:Number):void{
}
protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
}
public function attachComponent(_arg1, _arg2:String):void{
component[_arg2] = _arg1;
}
public function destroy(_arg1:Engine):void{
var _local2:IComponent;
locked = true;
_dead = true;
for each (_local2 in component) {
_local2.destroy(_arg1, this);
};
component = null;
}
public function collide(_arg1:Engine, _arg2:GameObject, _arg3:ContactInfo):void{
}
}
}//package genius.actor
Section 644
//GameObjectManager (genius.actor.GameObjectManager)
package genius.actor {
public class GameObjectManager {
protected var _root:GameObject;
protected var engine:Engine;
protected var objectsAdded:Array;
protected var lockCount:int;
protected var objectsRemoved:Array;
public var numObjects:int;
protected var deferedClear:Boolean;
public function GameObjectManager(_arg1:Engine){
this.engine = _arg1;
_root = new GameObject();
_root.makeRoot();
numObjects = 0;
lockCount = 0;
objectsAdded = new Array();
objectsRemoved = new Array();
deferedClear = false;
}
public function addObject(_arg1:GameObject):void{
if (lockCount <= 0){
_addObject(_arg1);
} else {
objectsAdded.push(_arg1);
};
}
public function clear():void{
if (lockCount <= 0){
_clear();
} else {
objectsAdded.length = 0;
objectsRemoved.length = 0;
deferedClear = true;
};
}
protected function _clear():void{
assertNoReaders();
while (_root.next != _root) {
_destroyObject(_root.next);
};
numObjects = 0;
}
public function query(_arg1:Function):Array{
var obj:GameObject;
var filter = _arg1;
var result:Array = new Array();
readLock();
try {
obj = _root.next;
while (obj != _root) {
if (((!(obj.dead)) && (filter(obj)))){
result.push(obj);
};
obj = obj.next;
};
} finally {
readUnlock();
};
return (result);
}
public function _addObject(_arg1:GameObject):void{
_arg1.insertBefore(_root);
numObjects = (numObjects + 1);
}
public function destroyObject(_arg1:GameObject):void{
if (lockCount <= 0){
_destroyObject(_arg1);
} else {
objectsRemoved.push(_arg1);
};
}
protected function _destroyObject(_arg1:GameObject):void{
_arg1.unlink();
_arg1.destroy(engine);
numObjects = (numObjects - 1);
}
public function tick(_arg1:Engine, _arg2:Number):void{
var obj:GameObject;
var engine = _arg1;
var dt = _arg2;
readLock();
try {
obj = _root.next;
while (obj != _root) {
if (!obj.dead){
obj.tick(engine, dt);
};
obj = obj.next;
};
} finally {
readUnlock();
};
}
protected function readLock():void{
lockCount = (lockCount + 1);
}
public function get root():GameObject{
return (_root);
}
protected function assertNoReaders():void{
if (lockCount > 0){
throw (new Error("Cannot modify the object database while it is being read from."));
};
}
public function frame(_arg1:Engine, _arg2:Number):void{
var obj:GameObject;
var engine = _arg1;
var dt = _arg2;
readLock();
try {
obj = _root.next;
while (obj != _root) {
if (!obj.dead){
obj.frame(engine, dt);
};
obj = obj.next;
};
} finally {
readUnlock();
};
}
protected function syncDefered():void{
var _local1:GameObject;
assertNoReaders();
if (deferedClear){
_clear();
objectsRemoved.length = 0;
deferedClear = false;
};
if (objectsRemoved.length){
for each (_local1 in objectsRemoved) {
_destroyObject(_local1);
};
objectsRemoved.length = 0;
};
if (objectsAdded.length){
for each (_local1 in objectsAdded) {
_addObject(_local1);
};
objectsAdded.length = 0;
};
}
protected function readUnlock():void{
lockCount = (lockCount - 1);
if (lockCount <= 0){
syncDefered();
};
}
}
}//package genius.actor
Section 645
//AnimatorState (genius.animation.AnimatorState)
package genius.animation {
public class AnimatorState {
public var callback:Function;
public var speed:Number;
protected var sampler:BaseSampler;
public var value;
public var complete:Boolean;
protected var phase:Number;
public var previousFrame:int;
public function AnimatorState(_arg1:BaseSampler, _arg2:Function=null){
this.sampler = _arg1;
this.callback = _arg2;
phase = 0;
speed = 1;
complete = false;
previousFrame = -1;
}
public function update(_arg1:Number):void{
var _local2:Number = phase;
phase = (phase + (_arg1 * speed));
var _local3:* = value;
sampler.update(this, _local2, phase);
var _local4:Boolean = (((_local3 == null)) || (sampler.different(_local3, value)));
if (((_local4) && (!((callback == null))))){
callback(value);
};
}
}
}//package genius.animation
Section 646
//BaseSampler (genius.animation.BaseSampler)
package genius.animation {
public class BaseSampler {
public var name:String;
public var frame:Array;
public function different(_arg1, _arg2):Boolean{
return (true);
}
protected function blend(_arg1, _arg2, _arg3:Number){
}
protected function findFrame(_arg1:AnimatorState, _arg2:Number, _arg3:Number):int{
var _local4:int;
_local4 = (_arg1.previousFrame + 1);
while (_local4 < frame.length) {
if (frame[_local4].time >= _arg3){
break;
};
_local4++;
};
_local4--;
_arg1.previousFrame = _local4;
return (_local4);
}
protected function interpolate(_arg1:Number, _arg2:int){
var _local3:SamplerFrame = frame[_arg2];
var _local4:SamplerFrame = frame[(_arg2 + 1)];
var _local5:Number = ((_arg1 - _local3.time) / (_local4.time - _local3.time));
return (blend(_local3.value, _local4.value, _local5));
}
public function update(_arg1:AnimatorState, _arg2:Number, _arg3:Number):void{
var _local4:int = findFrame(_arg1, _arg2, _arg3);
if (_local4 == -1){
_arg1.complete = false;
_arg1.value = frame[0].value;
} else {
if (_local4 >= (frame.length - 1)){
_arg1.complete = true;
_arg1.value = frame[(frame.length - 1)].value;
} else {
_arg1.complete = false;
_arg1.value = interpolate(_arg3, _local4);
};
};
}
}
}//package genius.animation
Section 647
//ColorSampler (genius.animation.ColorSampler)
package genius.animation {
public class ColorSampler extends BaseSampler {
override public function different(_arg1, _arg2):Boolean{
return (!(_arg1.equals(_arg2)));
}
override protected function blend(_arg1, _arg2, _arg3:Number){
return (_arg1.lerp(_arg2, _arg3));
}
}
}//package genius.animation
Section 648
//FloatSampler (genius.animation.FloatSampler)
package genius.animation {
public class FloatSampler extends BaseSampler {
override public function different(_arg1, _arg2):Boolean{
return (!(((_arg1 as Number) == (_arg2 as Number))));
}
override protected function blend(_arg1, _arg2, _arg3:Number){
return (((_arg1 * (1 - _arg3)) + (_arg2 * _arg3)));
}
}
}//package genius.animation
Section 649
//SamplerFrame (genius.animation.SamplerFrame)
package genius.animation {
public class SamplerFrame {
public var value;
public var time:Number;
}
}//package genius.animation
Section 650
//AbstractShape (genius.component.shape.AbstractShape)
package genius.component.shape {
import genius.component.*;
import genius.actor.*;
import Box2D.Collision.Shapes.*;
import genius.util.*;
import genius.events.*;
public class AbstractShape extends LinkedList implements IComponent {
protected var shape:b2Shape;
protected var config;
protected var body:Body;
public var owner:GameObject;
protected function handleResize(_arg1:Resize):void{
rebuild();
}
public function attach():void{
shape = createNewShape();
body.attachShape(shape);
}
public function remove():void{
if (shape){
body.removeShape(shape);
shape = null;
};
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
owner = _arg2;
this.config = _arg3;
postConfigure(_arg1, _arg2, _arg3);
_arg2.addEventListener(Resize.RESIZE, handleResize);
}
public function configureShapeDef(_arg1:b2ShapeDef, _arg2):void{
_arg1.density = _arg2.density;
_arg1.friction = _arg2.friction;
_arg1.restitution = _arg2.restitution;
_arg1.isSensor = _arg2.sensor;
_arg2.collisionID.configure(_arg1);
}
public function link(_arg1:Engine, _arg2:GameObject):void{
if (shape){
remove();
};
body = _arg2.getComponent("body", Body);
if (body){
body.addShape(this);
attach();
} else {
unlink();
};
}
protected function rebuild():void{
if (body){
if (shape){
remove();
};
attach();
};
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
_arg2.removeEventListener(Resize.RESIZE, handleResize);
}
protected function createNewShape():b2Shape{
return (null);
}
protected function postConfigure(_arg1:Engine, _arg2:GameObject, _arg3):void{
}
public function setEnabled(_arg1:Boolean):void{
if (body){
if (((_arg1) && (!(shape)))){
attach();
} else {
if (((!(_arg1)) && (shape))){
remove();
};
};
};
}
}
}//package genius.component.shape
Section 651
//BoxShape (genius.component.shape.BoxShape)
package genius.component.shape {
import genius.component.*;
import flash.geom.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
public class BoxShape extends AbstractShape {
override protected function createNewShape():b2Shape{
var _local2:Point;
var _local3:Rectangle;
var _local4:b2Shape;
var _local1:Placement = owner.getComponent("placement", Placement);
if (_local1){
_local2 = _local1.scale;
};
_local2 = new Point(1, 1);
_local3 = new Rectangle(((-(config.size.x) * _local1.scale.x) * 0.5), ((-(config.size.y) * _local1.scale.y) * 0.5), (config.size.x * _local1.scale.x), (config.size.y * _local1.scale.y));
var _local5:b2PolygonDef = new b2PolygonDef();
_local5.vertexCount = 4;
_local5.vertices[0] = new b2Vec2(_local3.x, _local3.y);
_local5.vertices[1] = new b2Vec2((_local3.x + _local3.width), _local3.y);
_local5.vertices[2] = new b2Vec2((_local3.x + _local3.width), (_local3.y + _local3.height));
_local5.vertices[3] = new b2Vec2(_local3.x, (_local3.y + _local3.height));
configureShapeDef(_local5, config);
_local4 = b2Shape.Create(_local5, null);
_local4.SetUserData(this);
return (_local4);
}
}
}//package genius.component.shape
Section 652
//CircleShape (genius.component.shape.CircleShape)
package genius.component.shape {
import genius.component.*;
import genius.actor.*;
import Box2D.Collision.Shapes.*;
public class CircleShape extends AbstractShape {
protected var radius:Number;
public function setRadius(_arg1:Number):void{
radius = _arg1;
rebuild();
}
override protected function postConfigure(_arg1:Engine, _arg2:GameObject, _arg3):void{
radius = _arg3.radius;
}
override protected function createNewShape():b2Shape{
var _local2:Number;
var _local1:Placement = owner.getComponent("placement", Placement);
if (_local1){
_local2 = _local1.scale.length;
};
_local2 = 1;
var _local3:Number = (radius * _local2);
var _local4:b2CircleDef = new b2CircleDef();
_local4.radius = _local3;
configureShapeDef(_local4, config);
var _local5:b2Shape = b2Shape.Create(_local4, null);
_local5.SetUserData(this);
return (_local5);
}
}
}//package genius.component.shape
Section 653
//PolygonShape (genius.component.shape.PolygonShape)
package genius.component.shape {
import genius.component.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
public class PolygonShape extends AbstractShape {
override protected function createNewShape():b2Shape{
var _local4:b2Shape;
var _local5:*;
var _local1:Placement = owner.getComponent("placement", Placement);
var _local2:b2PolygonDef = new b2PolygonDef();
_local2.vertexCount = config.vertex.length;
_local2.vertices.length = config.vertex.length;
var _local3:int;
while (_local3 < config.vertex.length) {
_local5 = config.vertex[_local3];
_local2.vertices[_local3] = new b2Vec2((_local5.x * _local1.scale.x), (_local5.y * _local1.scale.y));
_local3++;
};
configureShapeDef(_local2, config);
_local4 = b2Shape.Create(_local2, null);
_local4.SetUserData(this);
return (_local4);
}
}
}//package genius.component.shape
Section 654
//Body (genius.component.Body)
package genius.component {
import flash.geom.*;
import genius.actor.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import genius.util.*;
import genius.events.*;
import genius.physics.*;
import genius.component.shape.*;
public class Body extends LinkedList implements IComponent {
protected var config;
protected var body:b2Body;
public var shapeRoot:AbstractShape;
public var affectedByGravity:Boolean;
protected var manager:BodyManager;
protected var isKinematic:Boolean;// = false
protected static var infiniteMass:b2MassData = new b2MassData();
public function addShape(_arg1:AbstractShape):void{
_arg1.insertBefore(shapeRoot);
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
_arg2.removeEventListener(SetPosition.SET_POSITION, handleSetPosition);
_arg2.removeEventListener(SetVelocity.SET_VELOCITY, handleSetVelocity);
body.GetWorld().DestroyBody(body);
unlink();
}
public function setKinematic(_arg1:Boolean):void{
if (_arg1 != isKinematic){
isKinematic = _arg1;
if (isKinematic){
body.SetMass(infiniteMass);
} else {
body.SetMassFromShapes();
};
};
}
public function set angularVelocity(_arg1:Number):void{
return (body.SetAngularVelocity(_arg1));
}
public function set linearVelocity(_arg1:Point):void{
return (body.SetLinearVelocity(new b2Vec2(_arg1.x, _arg1.y)));
}
public function destroyShapes():void{
body.DestroyShape(body.GetShapeList());
if (body.m_shapeList != null){
throw (new Error(String(body.m_shapeList)));
};
}
public function get linearVelocity():Point{
return (PhysicsUtil.convertPoint(body.GetLinearVelocity()));
}
public function get angle():Number{
return (body.GetAngle());
}
protected function handleSetVelocity(_arg1:SetVelocity):void{
body.SetLinearVelocity(new b2Vec2(_arg1.x, _arg1.y));
body.SetAngularVelocity(_arg1.angle);
}
public function setFreeze(_arg1:Number):void{
var _local2:Number = (1 - _arg1);
body.m_linearDamping = ((config.linearDamping * _local2) + (5 * _arg1));
body.m_angularDamping = ((config.angularDamping * _local2) + (3 * _arg1));
}
public function sync():void{
var _local1:GameObject = body.GetUserData();
var _local2:Point = position;
var _local3:Placement = _local1.getComponent("placement", Placement);
if (_local3){
_local3.position.x = _local2.x;
_local3.position.y = _local2.y;
_local3.angle = angle;
_local3.dirty = true;
} else {
trace("No placement?", _local1);
};
}
public function attachShape(_arg1:b2Shape):void{
body.AddShape(_arg1);
if (!isKinematic){
body.SetMassFromShapes();
};
}
public function applyForce(_arg1:Point, _arg2:Point=null, _arg3:Boolean=false):void{
var _local4:b2Vec2;
if (_arg2 == null){
_local4 = body.GetPosition();
} else {
_local4 = new b2Vec2(_arg2.x, _arg2.y);
};
if (_arg3){
body.ApplyForce(new b2Vec2((_arg1.x * mass), (_arg1.y * mass)), _local4);
} else {
body.ApplyForce(new b2Vec2(_arg1.x, _arg1.y), _local4);
};
}
public function get angularVelocity():Number{
return (body.GetAngularVelocity());
}
public function predict(_arg1:Number):Point{
var _local2:Point = position;
var _local3:Point = linearVelocity;
return (new Point((_local2.x + (_local3.x * _arg1)), (_local2.y + (_local3.y * _arg1))));
}
public function set position(_arg1:Point):void{
body.SetXForm(new b2Vec2(_arg1.x, _arg1.y), body.GetAngle());
}
public function applyImpulse(_arg1:Point, _arg2:Point=null, _arg3:Boolean=false):void{
var _local4:b2Vec2;
var _local5:b2Vec2;
if (_arg2 == null){
_local4 = body.GetPosition();
} else {
_local4 = new b2Vec2(_arg2.x, _arg2.y);
};
if (_arg3){
_local5 = new b2Vec2((_arg1.x * mass), (_arg1.y * mass));
} else {
_local5 = new b2Vec2(_arg1.x, _arg1.y);
};
body.ApplyImpulse(_local5, _local4);
}
public function get position():Point{
return (PhysicsUtil.convertPoint(body.GetPosition()));
}
public function get transform():Matrix{
return (PhysicsUtil.convertMatrix(body.m_xf));
}
public function setTransform(_arg1:Point, _arg2:Number):void{
body.SetXForm(new b2Vec2(_arg1.x, _arg1.y), _arg2);
}
protected function handleSetPosition(_arg1:SetPosition):void{
body.SetXForm(new b2Vec2(_arg1.x, _arg1.y), _arg1.angle);
}
public function get mass():Number{
return (body.m_mass);
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
var _local4:b2BodyDef;
manager = _arg1.managers["body"];
insertBefore(manager.root);
this.config = _arg3;
_local4 = new b2BodyDef();
_local4.position.x = _arg3.position.x;
_local4.position.y = _arg3.position.y;
_local4.angle = _arg3.angle;
_local4.linearDamping = _arg3.linearDamping;
_local4.angularDamping = _arg3.angularDamping;
_local4.isBullet = _arg3.bullet;
body = manager.world.CreateBody(_local4);
body.SetLinearVelocity(new b2Vec2(_arg3.velocity.x, _arg3.velocity.y));
body.SetAngularVelocity(_arg3.angularVelocity);
body.SetUserData(_arg2);
affectedByGravity = _arg3.gravity;
setKinematic(_arg3.kinematic);
_arg2.addEventListener(SetPosition.SET_POSITION, handleSetPosition);
_arg2.addEventListener(SetVelocity.SET_VELOCITY, handleSetVelocity);
shapeRoot = new AbstractShape();
shapeRoot.makeRoot();
}
public function link(_arg1:Engine, _arg2:GameObject):void{
}
public function removeShape(_arg1:b2Shape):void{
body.DestroyShape(_arg1);
if (!isKinematic){
body.SetMassFromShapes();
};
}
public function set angle(_arg1:Number):void{
body.SetXForm(body.GetPosition(), _arg1);
}
public function setEnabled(_arg1:Boolean):void{
body.IsFrozen();
}
}
}//package genius.component
Section 655
//BodyManager (genius.component.BodyManager)
package genius.component {
import flash.geom.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import genius.physics.*;
import Box2D.Dynamics.Contacts.*;
public class BodyManager implements ComponentManager {
public var root:Body;
public var gravity:Point;
public var worldAABB:b2AABB;
protected var contactListener:ContactListener;
public var world:b2World;
public function BodyManager(){
root = new Body();
root.makeRoot();
worldAABB = new b2AABB();
worldAABB.lowerBound.Set(-1000, -1000);
worldAABB.upperBound.Set(1000, 1000);
world = new b2World(worldAABB, new b2Vec2(0, 0), true);
contactListener = new ContactListener();
world.SetContactListener(contactListener);
}
public function updateGravity(_arg1:Number):void{
if (gravity == null){
return;
};
var _local2:Body = root.next;
while (_local2 != root) {
if (_local2.affectedByGravity){
_local2.applyForce(gravity, null, true);
};
_local2 = _local2.next;
};
}
public function update(_arg1:Engine, _arg2:Number):void{
updateGravity(_arg2);
world.Step(_arg2, 10);
sync();
handleContacts(_arg1);
}
public function handleContacts(_arg1:Engine):void{
var _local3:ContactInfo;
var _local2:b2Contact = world.m_contactList;
while (_local2 != null) {
if (!_local2.IsSolid()){
_local3 = new ContactInfo(_local2.m_shape1.GetUserData().owner, _local2.m_shape2.GetUserData().owner, new Point(), new Point(), _local2.m_restitution, _local2.m_friction, _local2.IsSolid());
contactListener.collisions.push(_local3);
};
_local2 = _local2.m_next;
};
contactListener.dispatch(_arg1);
}
public function componentName():String{
return ("body");
}
public function sync():void{
var _local1:Body = root.next;
while (_local1 != root) {
_local1.sync();
_local1 = _local1.next;
};
}
}
}//package genius.component
Section 656
//Component (genius.component.Component)
package genius.component {
import genius.actor.*;
public class Component implements IComponent {
public function link(_arg1:Engine, _arg2:GameObject):void{
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
}
}
}//package genius.component
Section 657
//ComponentManager (genius.component.ComponentManager)
package genius.component {
public interface ComponentManager {
function componentName():String;
}
}//package genius.component
Section 658
//IComponent (genius.component.IComponent)
package genius.component {
import genius.actor.*;
public interface IComponent {
function destroy(_arg1:Engine, _arg2:GameObject):void;
function link(_arg1:Engine, _arg2:GameObject):void;
function configure(_arg1:Engine, _arg2:GameObject, _arg3):void;
}
}//package genius.component
Section 659
//Name (genius.component.Name)
package genius.component {
import genius.actor.*;
public class Name implements IComponent {
public var owner:GameObject;
public var name:String;
public function link(_arg1:Engine, _arg2:GameObject):void{
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
_arg1.managers["name"].unregister(this);
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
owner = _arg2;
name = _arg3.name;
_arg1.managers["name"].register(this);
}
}
}//package genius.component
Section 660
//NameManager (genius.component.NameManager)
package genius.component {
import genius.actor.*;
public class NameManager implements ComponentManager {
protected var lut:Object;
public function NameManager(){
lut = new Object();
super();
}
public function lookup(_arg1:String):GameObject{
var _local2:Name = lut[_arg1];
if (_local2){
return (_local2.owner);
};
return (null);
}
public function componentName():String{
return ("name");
}
public function register(_arg1:Name):void{
lut[_arg1.name] = _arg1;
}
public function unregister(_arg1:Name):void{
if (lut[_arg1.name] === _arg1){
delete lut[_arg1.name];
};
}
}
}//package genius.component
Section 661
//Placement (genius.component.Placement)
package genius.component {
import flash.geom.*;
import genius.actor.*;
import genius.events.*;
public class Placement extends Component {
protected var localTransform:Matrix;
public var position:Point;
public var scale:Point;
public var dirty:Boolean;// = false
public var angle:Number;// = 0
public function Placement(){
position = new Point(0, 0);
scale = new Point(1, 1);
localTransform = new Matrix();
super();
}
protected function recalculate():void{
if (dirty){
localTransform.identity();
localTransform.scale(scale.x, scale.y);
localTransform.rotate(angle);
localTransform.translate(position.x, position.y);
dirty = false;
};
}
protected function handleSetPosition(_arg1:SetPosition):void{
position.x = _arg1.x;
position.y = _arg1.y;
angle = _arg1.angle;
dirty = true;
}
protected function handleResize(_arg1:Resize):void{
scale.x = _arg1.width;
scale.y = _arg1.height;
dirty = true;
}
public function get transform():Matrix{
recalculate();
return (localTransform);
}
override public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
position.x = _arg3.position.x;
position.y = _arg3.position.y;
angle = _arg3.angle;
dirty = true;
_arg2.addEventListener(SetPosition.SET_POSITION, handleSetPosition);
_arg2.addEventListener(Resize.RESIZE, handleResize);
}
override public function destroy(_arg1:Engine, _arg2:GameObject):void{
_arg2.removeEventListener(SetPosition.SET_POSITION, handleSetPosition);
_arg2.removeEventListener(Resize.RESIZE, handleResize);
}
}
}//package genius.component
Section 662
//ButtonEvent (genius.events.ButtonEvent)
package genius.events {
public class ButtonEvent {
public var state:Boolean;
public var code:int;
public function ButtonEvent(_arg1:int, _arg2:Boolean){
this.code = _arg1;
this.state = _arg2;
}
public function matches(_arg1, _arg2:Boolean):Boolean{
return ((((Input.translateCode(_arg1) == this.code)) && ((_arg2 == this.state))));
}
public function get name():String{
return (Input.codeToText[this.code]);
}
}
}//package genius.events
Section 663
//GameEvent (genius.events.GameEvent)
package genius.events {
public class GameEvent {
public var type:String;
public function GameEvent(_arg1:String){
this.type = _arg1;
}
public static function id():String{
return (null);
}
}
}//package genius.events
Section 664
//Input (genius.events.Input)
package genius.events {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.ui.*;
public class Input {
public var bufferEvents:Boolean;// = false
public var events:Array;
public var mouseOver:Boolean;// = true
protected var _mouseVisible:Boolean;// = true
public var _mousePosition:Point;
public var keyState:Array;
public var listener;
public static var lShiftCode:int;
public static var lCtrlCode:int;
public static var init:Boolean = false;
public static var rCtrlCode:int;
public static var mouseCode:int;
public static var textToCode:Object;
public static var codeToText:Array;
public static var rShiftCode:int;
public function Input(_arg1:DisplayObject){
_mousePosition = new Point();
super();
if (!init){
initStatic();
};
keyState = new Array();
var _local2:int;
while (_local2 < codeToText.length) {
keyState.push(false);
_local2++;
};
events = new Array();
attach(_arg1);
}
protected function enqueEvent(_arg1:int, _arg2:Boolean):void{
var _local3:ButtonEvent = new ButtonEvent(_arg1, _arg2);
if (bufferEvents){
events.push(_local3);
} else {
listener.buttonEvent(_local3);
};
}
public function keyPressed(_arg1:KeyboardEvent):void{
var _local2:int = getKeyID(_arg1);
eventPressed(_local2);
}
public function getKeyID(_arg1:KeyboardEvent):int{
if (_arg1.keyCode == 16){
if (_arg1.keyLocation == KeyLocation.LEFT){
return (lShiftCode);
};
return (rShiftCode);
} else {
if (_arg1.keyCode == 17){
if (_arg1.keyLocation == KeyLocation.LEFT){
return (lCtrlCode);
};
return (rCtrlCode);
} else {
};
};
return (!NULL!);
}
protected function attach(_arg1:DisplayObject):void{
_arg1.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed, false, 0, true);
_arg1.stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_UP, mouseReleased, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove, false, 0, true);
_arg1.addEventListener(MouseEvent.ROLL_OVER, mouseEnter, false, 0, true);
_arg1.addEventListener(MouseEvent.ROLL_OUT, mouseExit, false, 0, true);
_arg1.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave, false, 0, true);
_arg1.addEventListener(FocusEvent.FOCUS_IN, focusIn, false, 0, true);
_arg1.addEventListener(FocusEvent.FOCUS_OUT, focusOut, false, 0, true);
_mousePosition.x = _arg1.stage.mouseX;
_mousePosition.y = _arg1.stage.mouseY;
}
public function mouseReleased(_arg1:MouseEvent):void{
updateMousePosition(_arg1);
eventReleased(mouseCode);
}
protected function eventPressed(_arg1:int):void{
if (!keyState[_arg1]){
enqueEvent(_arg1, true);
};
keyState[_arg1] = true;
}
public function get mouseVisible():Boolean{
return (_mouseVisible);
}
public function mouseLeave(_arg1):void{
trace("mouse leave");
}
public function focusOut(_arg1:FocusEvent):void{
trace("focus out", _arg1.keyCode);
}
public function set mouseVisible(_arg1:Boolean):void{
_mouseVisible = _arg1;
syncMouseState();
}
public function focusIn(_arg1:FocusEvent):void{
trace("focus in", _arg1.keyCode);
}
public function pressed(_arg1):Boolean{
return (keyState[translateCode(_arg1)]);
}
public function mouseExit(_arg1:MouseEvent):void{
trace("mouse exit");
mouseOver = false;
Mouse.show();
}
protected function updateMousePosition(_arg1:MouseEvent):void{
_mousePosition.x = _arg1.stageX;
_mousePosition.y = _arg1.stageY;
}
protected function syncMouseState():void{
if (_mouseVisible){
Mouse.show();
} else {
Mouse.hide();
};
}
public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:ButtonEvent;
_mousePosition.x = _arg1.game.stage.mouseX;
_mousePosition.y = _arg1.game.stage.mouseY;
if (listener){
for each (_local3 in events) {
listener.buttonEvent(_local3);
};
};
events.length = 0;
}
public function get mousePosition():Point{
return (_mousePosition);
}
protected function eventReleased(_arg1:int):void{
if (keyState[_arg1]){
enqueEvent(_arg1, false);
};
keyState[_arg1] = false;
}
public function mouseMove(_arg1:MouseEvent):void{
updateMousePosition(_arg1);
}
public function mouseEnter(_arg1:MouseEvent):void{
trace("mouse enter");
mouseOver = true;
syncMouseState();
}
public function keyReleased(_arg1:KeyboardEvent):void{
var _local2:int = getKeyID(_arg1);
eventReleased(_local2);
}
public function mousePressed(_arg1:MouseEvent):void{
updateMousePosition(_arg1);
eventPressed(mouseCode);
}
protected static function addCode(_arg1:String):int{
codeToText.push(_arg1);
return ((codeToText.length - 1));
}
public static function translateCode(_arg1):int{
if ((_arg1 is String)){
return (textToCode[_arg1.toLowerCase()]);
};
return (_arg1);
}
public static function initStatic():void{
var _local1:int;
codeToText = new Array();
_local1 = 0;
while (_local1 < 0x0100) {
codeToText.push(String.fromCharCode(_local1));
_local1++;
};
codeToText[8] = "Backspace";
codeToText[9] = "Tab";
codeToText[13] = "Enter";
codeToText[16] = "Shift";
codeToText[17] = "Ctrl";
codeToText[19] = "Pause";
codeToText[20] = "Caps Lock";
codeToText[27] = "Esc";
codeToText[32] = "Spacebar";
codeToText[33] = "Page Up";
codeToText[34] = "Page Down";
codeToText[35] = "End";
codeToText[36] = "Home";
codeToText[37] = "Left";
codeToText[38] = "Up";
codeToText[39] = "Right";
codeToText[40] = "Down";
codeToText[45] = "Insert";
codeToText[46] = "Delete";
codeToText[96] = "Numpad 0";
codeToText[97] = "Numpad 1";
codeToText[98] = "Numpad 2";
codeToText[99] = "Numpad 3";
codeToText[100] = "Numpad 4";
codeToText[101] = "Numpad 5";
codeToText[102] = "Numpad 6";
codeToText[103] = "Numpad 7";
codeToText[104] = "Numpad 8";
codeToText[105] = "Numpad 9";
codeToText[111] = "Numpad /";
codeToText[106] = "Numpad *";
codeToText[109] = "Numpad -";
codeToText[107] = "Numpad +";
codeToText[110] = "Numpad .";
codeToText[112] = "F1";
codeToText[113] = "F2";
codeToText[114] = "F3";
codeToText[115] = "F4";
codeToText[116] = "F5";
codeToText[117] = "F6";
codeToText[118] = "F7";
codeToText[119] = "F8";
codeToText[120] = "F9";
codeToText[121] = "F10";
codeToText[122] = "F11";
codeToText[123] = "F12";
codeToText[144] = "Num Lock";
codeToText[145] = "Scroll Lock";
codeToText[186] = ";";
codeToText[187] = "+";
codeToText[188] = ",";
codeToText[189] = "-";
codeToText[190] = ".";
codeToText[191] = "/";
codeToText[192] = "~";
codeToText[219] = "[";
codeToText[220] = "\\";
codeToText[221] = "]";
codeToText[222] = "'";
lShiftCode = addCode("Left Shift");
rShiftCode = addCode("Right Shift");
lCtrlCode = addCode("Left Ctrl");
rCtrlCode = addCode("Right Ctrl");
mouseCode = addCode("Mouse Button");
textToCode = new Object();
_local1 = 0;
while (_local1 < codeToText.length) {
textToCode[codeToText[_local1]] = _local1;
textToCode[codeToText[_local1].toLowerCase()] = _local1;
_local1++;
};
init = true;
}
}
}//package genius.events
Section 665
//Resize (genius.events.Resize)
package genius.events {
import genius.actor.*;
public class Resize extends GameEvent {
public var width:Number;
public var height:Number;
protected static var evt:Resize = new Resize(1, 1);
;
public static var RESIZE:String = "bc_resize";
public function Resize(_arg1:Number, _arg2:Number){
super(RESIZE);
this.width = _arg1;
this.height = _arg2;
}
public static function dispatch(_arg1:GameObject, _arg2:Number, _arg3:Number):void{
evt.width = _arg2;
evt.height = _arg3;
_arg1._dispatchEvent(evt);
}
public static function id():String{
return (RESIZE);
}
}
}//package genius.events
Section 666
//SetPosition (genius.events.SetPosition)
package genius.events {
import genius.actor.*;
public class SetPosition extends GameEvent {
public var angle:Number;
public var x:Number;
public var y:Number;
protected static var evt:SetPosition = new SetPosition(0, 0, 0);
;
public static var SET_POSITION:String = "bc_set_position";
public function SetPosition(_arg1:Number, _arg2:Number, _arg3:Number){
super(SET_POSITION);
this.x = _arg1;
this.y = _arg2;
this.angle = _arg3;
}
public static function dispatch(_arg1:GameObject, _arg2:Number, _arg3:Number, _arg4:Number):void{
evt.x = _arg2;
evt.y = _arg3;
evt.angle = _arg4;
_arg1._dispatchEvent(evt);
}
public static function id():String{
return (SET_POSITION);
}
}
}//package genius.events
Section 667
//SetVelocity (genius.events.SetVelocity)
package genius.events {
import genius.actor.*;
public class SetVelocity extends GameEvent {
public var angle:Number;
public var x:Number;
public var y:Number;
protected static var evt:SetVelocity = new SetVelocity(0, 0, 0);
;
public static var SET_VELOCITY:String = "bc_set_velocity";
public function SetVelocity(_arg1:Number, _arg2:Number, _arg3:Number){
super(SET_VELOCITY);
this.x = _arg1;
this.y = _arg2;
this.angle = _arg3;
}
public static function dispatch(_arg1:GameObject, _arg2:Number, _arg3:Number, _arg4:Number):void{
evt.x = _arg2;
evt.y = _arg3;
evt.angle = _arg4;
_arg1._dispatchEvent(evt);
}
public static function id():String{
return (SET_VELOCITY);
}
}
}//package genius.events
Section 668
//Game (genius.game.Game)
package genius.game {
import flash.events.*;
import flash.display.*;
public class Game extends Sprite {
public var screenWidth:int;
public var engine:Engine;
protected var doPush:Boolean;// = false
protected var doPop:Boolean;// = false
protected var gameletStack:Array;
public var gamelets:Object;
public var rootDirectory:String;
protected var currentGamelet:Gamelet;// = null
public var screenHeight:int;
protected var nextGamelet:String;// = null
public function Game(){
gamelets = new Object();
gameletStack = new Array();
super();
}
public function addGamelet(_arg1:String, _arg2:Gamelet):void{
_arg2.init(this, engine);
gamelets[_arg1] = _arg2;
}
protected function update():void{
if (nextGamelet){
if (doPush){
gameletStack.push(currentGamelet);
};
_activateGamelet(gamelets[nextGamelet]);
clear();
} else {
if (doPop){
_activateGamelet(gameletStack.pop());
clear();
};
};
}
protected function run(_arg1:Event):void{
update();
currentGamelet.run();
}
public function clear():void{
nextGamelet = null;
doPush = false;
doPop = false;
}
public function popGamelet():void{
clear();
doPop = true;
}
public function everythingLoaded():void{
}
public function pushGamelet(_arg1:String):void{
clear();
nextGamelet = _arg1;
doPush = true;
}
public function activateGamelet(_arg1:String):void{
clear();
nextGamelet = _arg1;
}
protected function _activateGamelet(_arg1:Gamelet):void{
if (currentGamelet != null){
currentGamelet.deactivate();
removeChild(currentGamelet);
};
currentGamelet = _arg1;
if (currentGamelet != null){
currentGamelet.activate();
addChild(currentGamelet);
};
engine.input.listener = currentGamelet;
}
}
}//package genius.game
Section 669
//Gamelet (genius.game.Gamelet)
package genius.game {
import flash.display.*;
import genius.events.*;
import flash.utils.*;
public class Gamelet extends Sprite {
protected var doRender:Boolean;// = true
protected var engine:Engine;
protected var buttonDispatch:Dictionary;
protected var doAnimate:Boolean;// = true
protected var doSimulate:Boolean;// = true
protected var game:Game;
protected var timeScale:Number;// = 1
public function Gamelet(){
buttonDispatch = new Dictionary();
super();
}
protected function runAnimation():void{
var _local1:Number = engine.timer.dt;
var _local2:Number = (_local1 * timeScale);
engine.monitor.begin("animate");
engine.gameplay.frame(_local2);
frame(_local2);
engine.gom.frame(engine, _local2);
if (engine.managers.gui){
engine.managers.gui.update(engine, _local2);
};
engine.monitor.end("animate");
}
public function buttonEvent(_arg1):void{
var _local2:Object;
trace("Button Event", _arg1.code, _arg1.name, _arg1.state);
if ((_arg1.code in buttonDispatch)){
_local2 = buttonDispatch[_arg1.code];
if (((_arg1.state) && (!((_local2.down == null))))){
_local2.down(_arg1);
};
if (((!(_arg1.state)) && (!((_local2.up == null))))){
_local2.up(_arg1);
};
};
}
public function setupButtons(_arg1):void{
var _local2:*;
buttonDispatch = new Dictionary();
for each (_local2 in _arg1.bind) {
bindButton(_local2.button, _local2.handler, _local2.down, _local2.up);
};
}
public function bindButton(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Boolean):void{
var _local5:int = Input.translateCode(_arg1);
if (!(_local5 in buttonDispatch)){
buttonDispatch[_local5] = {up:null, down:null};
};
var _local6:Function = this[_arg2];
if (_arg3){
buttonDispatch[_local5].down = _local6;
};
if (_arg4){
buttonDispatch[_local5].up = _local6;
};
}
public function init(_arg1:Game, _arg2:Engine):void{
this.game = _arg1;
this.engine = _arg2;
}
public function run():void{
engine.timer.newFrame();
engine.monitor.beginFrame();
engine.monitor.begin("frame");
runInput();
if (doSimulate){
runSimulation();
};
if (doAnimate){
runAnimation();
};
if (doRender){
runRender();
};
engine.monitor.end("frame");
}
public function render():void{
}
protected function runRender():void{
engine.monitor.begin("render");
render();
engine.monitor.end("render");
}
public function frame(_arg1:Number):void{
}
public function activate():void{
}
public function deactivate():void{
}
public function tick(_arg1:Number):void{
}
protected function runSimulation():void{
var _local3:Number;
var _local1:Number = engine.timer.tickTime;
var _local2:int;
while (_local2 < engine.timer.ticks) {
_local3 = (_local1 * timeScale);
engine.monitor.begin("simulate");
engine.gameplay.tick(_local3);
tick(_local3);
engine.gom.tick(engine, _local3);
engine.monitor.end("simulate");
engine.monitor.begin("physics");
if (engine.managers.thruster){
engine.managers.thruster.update(engine, _local3);
};
if (engine.managers.swarm){
engine.monitor.begin("swarm");
engine.managers.swarm.update(engine, _local3);
engine.monitor.end("swarm");
};
engine.managers.body.update(engine, _local3);
engine.monitor.end("physics");
_local2++;
};
}
protected function runInput():void{
var _local1:Number = engine.timer.dt;
engine.input.frame(engine, _local1);
}
}
}//package genius.game
Section 670
//RGBAColor (genius.graphics.colors.RGBAColor)
package genius.graphics.colors {
public class RGBAColor {
public var b:Number;
protected var _color:uint;
public var g:Number;
public var a:Number;
public var r:Number;
public function RGBAColor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=1){
setColor(_arg1, _arg2, _arg3, _arg4);
}
public function setColor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=1):void{
this.r = _arg1;
this.g = _arg2;
this.b = _arg3;
this.a = _arg4;
recomputeColor();
}
public function get color():uint{
return (_color);
}
public function equals(_arg1:RGBAColor):Boolean{
return ((((((((r == _arg1.r)) && ((g == _arg1.g)))) && ((b == _arg1.b)))) && ((a == _arg1.a))));
}
public function scale(_arg1:Number):RGBAColor{
return (new RGBAColor((r * _arg1), (g * _arg1), (b * _arg1), a));
}
public function toString():String{
return ((((((((("[color " + String(this.r)) + " ") + String(this.g)) + " ") + String(this.b)) + " ") + String(this.a)) + "]"));
}
public function add(_arg1:RGBAColor):RGBAColor{
return (new RGBAColor((r + _arg1.r), (g + _arg1.g), (b + _arg1.b), (a + _arg1.a)));
}
protected function conv(_arg1:Number):uint{
return (uint(Math.min(Math.max(0, (_arg1 * 0xFF)), 0xFF)));
}
public function lerp(_arg1:RGBAColor, _arg2:Number):RGBAColor{
var _local3:Number = (1 - _arg2);
return (new RGBAColor(((r * _local3) + (_arg1.r * _arg2)), ((g * _local3) + (_arg1.g * _arg2)), ((b * _local3) + (_arg1.b * _arg2)), ((a * _local3) + (_arg1.a * _arg2))));
}
protected function recomputeColor():void{
_color = (((conv(r) << 16) + (conv(g) << 8)) + conv(b));
}
}
}//package genius.graphics.colors
Section 671
//DisplayRenderable (genius.graphics.renderable.DisplayRenderable)
package genius.graphics.renderable {
import genius.graphics.*;
import flash.display.*;
public class DisplayRenderable extends RenderableComponent {
protected var drawable:IBitmapDrawable;
public function DisplayRenderable(_arg1:IBitmapDrawable){
drawable = _arg1;
}
override public function draw(_arg1:RenderingEngine):void{
sync();
_arg1.draw(drawable, transform, shader);
}
}
}//package genius.graphics.renderable
Section 672
//RenderableComponent (genius.graphics.renderable.RenderableComponent)
package genius.graphics.renderable {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.graphics.*;
public class RenderableComponent implements IComponent, IRenderable2D {
public var enabled:Boolean;// = true
protected var scene:Scene2D;
public var shader:VectorShader;
protected var go:GameObject;
public var transform:Matrix;
public function RenderableComponent(){
transform = new Matrix();
super();
}
public function draw(_arg1:RenderingEngine):void{
}
public function attach(_arg1:Scene2D):void{
detach();
scene = _arg1;
scene.addRenderable(this);
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
detach();
_arg2 = null;
}
public function layer():int{
return (shader.layer);
}
public function link(_arg1:Engine, _arg2:GameObject):void{
}
public function detach():void{
if (scene){
scene.removeRenderable(this);
scene = null;
};
}
public function sync():void{
var _local1:Placement;
if (go){
_local1 = go.getComponent("placement", Placement);
if (_local1){
transform = _local1.transform;
};
};
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
this.go = _arg2;
attach(_arg1.mainScene);
}
public function isEnabled():Boolean{
return (enabled);
}
}
}//package genius.graphics.renderable
Section 673
//SpriteRenderable (genius.graphics.renderable.SpriteRenderable)
package genius.graphics.renderable {
import flash.geom.*;
import genius.actor.*;
import genius.graphics.*;
public class SpriteRenderable extends RenderableComponent {
public var size:Point;
protected var m:Matrix;
public var textureTransform:Matrix;
public var center:Point;
protected var phase:Number;
public function SpriteRenderable(){
textureTransform = new Matrix();
super();
}
override public function draw(_arg1:RenderingEngine):void{
sync();
m.identity();
if (shader.texture){
m.concat(shader.texture.transform);
};
m.concat(textureTransform);
var _local2:Matrix = new Matrix(size.x, 0, 0, size.y, ((-0.5 * size.x) - center.x), ((-0.5 * size.y) - center.y));
m.concat(_local2);
m.concat(transform);
_arg1.drawTexture(shader.texture, m, shader);
}
override public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
super.configure(_arg1, _arg2, _arg3);
center = _arg3.center.clone();
size = _arg3.size.clone();
shader = _arg3.shader.clone();
enabled = _arg3.enabled;
textureTransform.identity();
if (_arg3.flipX){
textureTransform.concat(new Matrix(-1, 0, 0, 1, 1, 0));
};
if (_arg3.flipY){
textureTransform.concat(new Matrix(1, 0, 0, -1, 0, 1));
};
m = new Matrix();
phase = 0;
}
}
}//package genius.graphics.renderable
Section 674
//TextImpostor (genius.graphics.renderable.TextImpostor)
package genius.graphics.renderable {
import flash.geom.*;
import flash.display.*;
import genius.util.*;
public class TextImpostor {
protected var oldScale:Number;// = 0
public var place:Matrix;
public var data:BitmapData;
public function build(_arg1:DisplayObject, _arg2:Matrix):void{
var _local5:int;
var _local6:int;
var _local7:Matrix;
var _local3:Number = MathUtil.matrixScale(_arg2);
if (_local3 == 0){
return;
};
var _local4:Number = ((_local3 - oldScale) / _local3);
_local4 = (((_local3 - oldScale) / _local3) * _local4);
if (((!(data)) || ((_local4 >= 1E-7)))){
_local5 = Math.ceil((_arg1.width * _local3));
_local6 = Math.ceil((_arg1.height * _local3));
prepareBitmap(_local5, _local6);
_local7 = new Matrix(1, 0, 0, 1, -(_arg1.x), -(_arg1.y));
_local7.scale(_local3, _local3);
data.draw(_arg1, _local7);
_local7.invert();
place = _local7;
oldScale = _local3;
};
}
protected function prepareBitmap(_arg1:int, _arg2:int):void{
if (((((!(data)) || (!((data.width == _arg1))))) || (!((data.height == _arg2))))){
data = new BitmapData(_arg1, _arg2, true, 0);
} else {
data.fillRect(new Rectangle(0, 0, _arg1, _arg2), 0);
};
}
}
}//package genius.graphics.renderable
Section 675
//TextRenderable (genius.graphics.renderable.TextRenderable)
package genius.graphics.renderable {
import flash.geom.*;
import genius.actor.*;
import genius.graphics.*;
import flash.display.*;
import flash.utils.*;
public class TextRenderable extends RenderableComponent {
protected var _size:Number;
protected var cache:Dictionary;
protected var _text:String;
protected var _font:String;
protected var center:Point;
public var embeddedFont:Boolean;
public function get size():Number{
return (_size);
}
override public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
super.configure(_arg1, _arg2, _arg3);
center = _arg3.center.clone();
_font = _arg3.font;
embeddedFont = _arg3.embeddedFont;
_size = _arg3.size;
_text = _arg3.text;
shader = _arg3.shader.clone();
enabled = _arg3.enabled;
invalidateCache();
}
public function set size(_arg1:Number):void{
if (_arg1 != _size){
_size = _arg1;
invalidateCache();
};
}
override public function draw(_arg1:RenderingEngine):void{
sync();
var _local2:Matrix = new Matrix();
_local2.translate(-(center.x), -(center.y));
_local2.concat(transform);
_arg1.drawText(this, _local2, shader);
}
public function get text():String{
return (_text);
}
public function get font():String{
return (_font);
}
protected function invalidateCache():void{
cache = new Dictionary(true);
}
public function set text(_arg1:String):void{
if (_arg1 != _text){
_text = _arg1;
invalidateCache();
};
}
public function getImpostor(_arg1:DisplayObject, _arg2:Matrix, _arg3:Scene2DView):TextImpostor{
if (!(_arg3 in cache)){
cache[_arg3] = new TextImpostor();
};
var _local4:TextImpostor = cache[_arg3];
_local4.build(_arg1, _arg2);
return (_local4);
}
public function set font(_arg1:String):void{
if (_arg1 != _font){
_font = _arg1;
invalidateCache();
};
}
}
}//package genius.graphics.renderable
Section 676
//BitmapRegion (genius.graphics.BitmapRegion)
package genius.graphics {
import flash.geom.*;
import flash.display.*;
public class BitmapRegion {
protected var _opaqueOffset:Point;
protected var _bitmap:BitmapData;
protected var _opaqueRegion:Rectangle;
protected var _region:Rectangle;
public function BitmapRegion(_arg1:BitmapData, _arg2:Rectangle=null){
if (!_arg2){
_arg2 = new Rectangle(0, 0, _arg1.width, _arg1.height);
};
_bitmap = _arg1;
_region = _arg2;
if (isSubimage()){
_opaqueRegion = _region;
} else {
if (!_arg1.transparent){
_opaqueRegion = _region;
} else {
_opaqueRegion = _bitmap.getColorBoundsRect(4278190080, 0, false);
};
};
_opaqueOffset = new Point((_opaqueRegion.x - _region.x), (_opaqueRegion.y - _region.y));
}
public function get opaqueOffset():Point{
return (_opaqueOffset);
}
public function isSubimage():Boolean{
return (((((((!((_region.x == 0))) || (!((_region.y == 0))))) || (!((_region.width == _bitmap.width))))) || (!((_region.height == region.height)))));
}
public function opaqueSubset(_arg1:Rectangle):Rectangle{
var _local2:Number = (_arg1.width / _region.width);
var _local3:Number = (_arg1.height / _region.height);
return (new Rectangle((_arg1.x + ((opaqueRegion.x - _region.x) * _local2)), (_arg1.y + ((opaqueRegion.y - _region.y) * _local2)), (opaqueRegion.width * _local2), (opaqueRegion.height * _local3)));
}
public function get bitmap():BitmapData{
return (_bitmap);
}
public function get opaqueRegion():Rectangle{
return (_opaqueRegion);
}
public function get region():Rectangle{
return (_region);
}
}
}//package genius.graphics
Section 677
//IRenderable2D (genius.graphics.IRenderable2D)
package genius.graphics {
public interface IRenderable2D {
function layer():int;
function draw(_arg1:RenderingEngine):void;
function isEnabled():Boolean;
}
}//package genius.graphics
Section 678
//RenderingEngine (genius.graphics.RenderingEngine)
package genius.graphics {
import flash.geom.*;
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import flash.display.*;
import Box2D.Dynamics.*;
import genius.util.*;
import genius.graphics.colors.*;
import genius.graphics.renderable.*;
import flash.filters.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Common.*;
import Box2D.Dynamics.Contacts.*;
import flash.text.*;
public class RenderingEngine {
protected var buffer:BitmapData;
protected var layers:Array;
public var engine:Engine;
public var useMipMaps:Boolean;
public var useFastPath:Boolean;// = true
public var sceneView:Scene2DView;
public var clearColor:RGBAColor;// = null
protected var transform:Matrix;
protected var completeTransform:Matrix;
protected static var spriteObj:Sprite = new Sprite();
protected static var bitmapObj:Bitmap = new Bitmap();
protected static var textObj:TextField = new TextField();
public function RenderingEngine(_arg1:int, _arg2:int){
transform = new Matrix();
completeTransform = new Matrix();
super();
sceneView = new Scene2DView();
sceneView.viewport(0, 0, _arg1, _arg2);
buffer = new BitmapData(_arg1, _arg2, false);
layers = new Array();
var _local3:int;
while (_local3 < 10) {
layers.push(new Array());
_local3++;
};
setCamera(-7, -7, 20);
useMipMaps = true;
bitmapObj.pixelSnapping = PixelSnapping.AUTO;
textObj.text = "???????????????????????????";
}
public function tint(_arg1:ColorTransform):void{
buffer.colorTransform(sceneView.viewportBounds, _arg1);
}
public function clear(_arg1:RGBAColor):void{
buffer.fillRect(buffer.rect, _arg1.color);
}
public function endFrame():void{
buffer.unlock(sceneView.viewportBounds);
}
public function transferBackBuffer(_arg1:Graphics, _arg2:Number, _arg3:Number):void{
var _local4:Matrix = new Matrix();
_local4.scale((_arg2 / buffer.width), (_arg3 / buffer.height));
_arg1.clear();
_arg1.lineStyle();
_arg1.beginBitmapFill(buffer, _local4, false, true);
_arg1.drawRect(0, 0, _arg2, _arg3);
_arg1.endFill();
}
public function beginFrame():void{
buffer.lock();
if (clearColor){
clear(clearColor);
};
}
protected function worldToClip(_arg1:Point):Point{
_arg1 = sceneView.sceneToViewport.transformPoint(_arg1);
_arg1.x = (_arg1.x / sceneView.viewportBounds.width);
_arg1.y = (_arg1.y / sceneView.viewportBounds.height);
return (_arg1);
}
public function drawText(_arg1:TextRenderable, _arg2:Matrix, _arg3:VectorShader):void{
textObj.text = _arg1.text;
textObj.setTextFormat(new TextFormat(_arg1.font, Math.ceil(_arg1.size)));
textObj.textColor = 0xFFFFFF;
textObj.autoSize = TextFieldAutoSize.LEFT;
textObj.x = 0;
textObj.y = 0;
textObj.embedFonts = _arg1.embeddedFont;
var _local4:Matrix = new Matrix(1, 0, 0, 1, (-(textObj.width) * 0.5), (-(textObj.height) * 0.5));
_local4.scale((_arg1.size / Math.ceil(_arg1.size)), (_arg1.size / Math.ceil(_arg1.size)));
_local4.concat(_arg2);
_local4.concat(sceneView.sceneToViewport);
var _local5:TextImpostor = _arg1.getImpostor(textObj, _local4, sceneView);
var _local6:Matrix = _local5.place.clone();
_local6.concat(_local4);
_local4 = _local6;
_local4.tx = Math.round(_local4.tx);
_local4.ty = Math.round(_local4.ty);
buffer.draw(_local5.data, _local4, _arg3.colorTransform, _arg3.blendMode, sceneView.viewportBounds, _arg3.smooth);
}
public function setCamera(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Number = (sceneView.viewportBounds.width / sceneView.viewportBounds.height);
var _local5:Number = (_local4 * _arg3);
sceneView.scene((_arg1 - (_local5 * 0.5)), (_arg2 - (_arg3 * 0.5)), _local5, _arg3);
}
public function drawScene(_arg1:Scene2D):void{
var _local2:Array;
var _local3:IRenderable2D;
for each (_local2 in layers) {
_local2.length = 0;
};
_arg1.attach(this);
for each (_local2 in layers) {
for each (_local3 in _local2) {
if (_local3.isEnabled()){
_local3.draw(this);
};
};
};
}
public function panning(_arg1:Point):Number{
_arg1 = worldToClip(_arg1);
var _local2:Number = ((_arg1.x * 2) - 1);
var _local3:Number = 0.9;
_local2 = (_local2 * _local3);
return (MathUtil.clamp(_local2, -1, 1));
}
public function addRenderable(_arg1:IRenderable2D):void{
var _local2:int = MathUtil.clamp(_arg1.layer(), 0, layers.length);
layers[_local2].push(_arg1);
}
public function drawTexture(_arg1:Texture, _arg2:Matrix, _arg3:VectorShader):void{
var _local5:Graphics;
var _local6:Rectangle;
var _local7:ColorTransform;
var _local8:String;
var _local11:int;
var _local12:BitmapRegion;
var _local13:Matrix;
var _local14:Point;
var _local4:Boolean = ((!((_arg1 == null))) && (_arg1.loaded));
transform.identity();
transform.concat(_arg2);
transform.concat(sceneView.sceneToViewport);
completeTransform.identity();
if (_local4){
_local11 = _arg3.texture.calculateMipLevel(transform, ((_arg3.mipmap) && (useMipMaps)), _arg3.lodbias);
_local12 = _arg3.texture.data[_local11];
completeTransform.concat(_arg3.texture.transforms[_local11]);
};
completeTransform.concat(transform);
if (_arg3.colorTransformActive()){
_local7 = _arg3.colorTransform;
} else {
_local7 = null;
};
if (_arg3.blendMode == BlendMode.NORMAL){
_local8 = null;
} else {
_local8 = _arg3.blendMode;
};
var _local9:Boolean = ((((((MathUtil.fuzzyEQ(completeTransform.a, 1)) && (MathUtil.fuzzyEQ(completeTransform.b, 0)))) && (MathUtil.fuzzyEQ(completeTransform.c, 0)))) && (MathUtil.fuzzyEQ(completeTransform.d, 1)));
var _local10:Boolean = ((((((_local9) && ((_local8 == null)))) && ((_local7 == null)))) && (!(_arg3.texture.repeat)));
if (!_local4){
_local5 = spriteObj.graphics;
_local5.beginFill(0xFFFFFF);
_local6 = new Rectangle(0, 0, 1, 1);
_local5.moveTo(_local6.x, _local6.y);
_local5.lineTo((_local6.x + _local6.width), _local6.y);
_local5.lineTo((_local6.x + _local6.width), (_local6.y + _local6.height));
_local5.lineTo(_local6.x, (_local6.y + _local6.height));
_local5.lineTo(_local6.x, _local6.y);
_local5.endFill();
buffer.draw(spriteObj, completeTransform, _local7, _local8, sceneView.viewportBounds, _arg3.smooth);
_local5.clear();
} else {
if (_arg3.texture.repeat){
_local13 = new Matrix();
_local5 = spriteObj.graphics;
_local5.beginBitmapFill(_local12.bitmap, _local13, _arg3.texture.repeat, _arg3.smooth);
_local6 = _local12.region;
_local5.moveTo(_local6.x, _local6.y);
_local5.lineTo((_local6.x + _local6.width), _local6.y);
_local5.lineTo((_local6.x + _local6.width), (_local6.y + _local6.height));
_local5.lineTo(_local6.x, (_local6.y + _local6.height));
_local5.lineTo(_local6.x, _local6.y);
_local5.endFill();
buffer.draw(spriteObj, completeTransform, _local7, _local8, sceneView.viewportBounds, _arg3.smooth);
_local5.clear();
} else {
if (((_local10) && (useFastPath))){
_local14 = new Point(((completeTransform.tx + _local12.opaqueOffset.x) + 0.49999), ((completeTransform.ty + _local12.opaqueOffset.y) + 0.49999));
buffer.copyPixels(_local12.bitmap, _local12.opaqueRegion, _local14);
} else {
bitmapObj.bitmapData = _local12.bitmap;
bitmapObj.scrollRect = _local12.region;
bitmapObj.smoothing = _arg3.smooth;
buffer.draw(bitmapObj, completeTransform, _local7, _local8, sceneView.viewportBounds, _arg3.smooth);
bitmapObj.scrollRect = null;
bitmapObj.bitmapData = null;
};
};
};
}
public function filter(_arg1:BitmapFilter):void{
buffer.applyFilter(buffer, sceneView.viewportBounds, new Point(), _arg1);
}
public function draw(_arg1:IBitmapDrawable, _arg2:Matrix, _arg3:VectorShader):void{
var _local4:Matrix = _arg2.clone();
_local4.concat(sceneView.sceneToViewport);
buffer.draw(_arg1, _local4, _arg3.colorTransform, _arg3.blendMode, sceneView.viewportBounds, _arg3.smooth);
}
}
}//package genius.graphics
Section 679
//Scene2D (genius.graphics.Scene2D)
package genius.graphics {
public class Scene2D {
protected var db:Array;
public function Scene2D(){
db = new Array();
super();
}
public function addRenderable(_arg1:IRenderable2D):void{
db.push(_arg1);
}
public function removeRenderable(_arg1:IRenderable2D):void{
var _local2:int = db.indexOf(_arg1);
db.splice(_local2, 1);
}
public function attach(_arg1:RenderingEngine):void{
var _local2:IRenderable2D;
for each (_local2 in db) {
_arg1.addRenderable(_local2);
};
}
}
}//package genius.graphics
Section 680
//Scene2DView (genius.graphics.Scene2DView)
package genius.graphics {
import flash.geom.*;
public class Scene2DView {
public var sceneBounds:Rectangle;
public var viewportToScene:Matrix;
public var viewportBounds:Rectangle;
public var sceneToViewport:Matrix;
public function Scene2DView(){
sceneToViewport = new Matrix();
viewportToScene = new Matrix();
super();
sceneBounds = new Rectangle(0, 0, 1, 1);
viewportBounds = new Rectangle(0, 0, 1, 1);
}
protected function recalculateTransforms():void{
sceneToViewport.identity();
sceneToViewport.translate(-(sceneBounds.x), -(sceneBounds.y));
sceneToViewport.scale((Math.max(viewportBounds.width, 0.0001) / Math.max(sceneBounds.width, 0.0001)), (Math.max(viewportBounds.height, 0.0001) / Math.max(sceneBounds.height, 0.0001)));
sceneToViewport.translate(viewportBounds.x, viewportBounds.y);
viewportToScene = sceneToViewport.clone();
viewportToScene.invert();
}
public function scene(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
sceneBounds.x = _arg1;
sceneBounds.y = _arg2;
sceneBounds.width = _arg3;
sceneBounds.height = _arg4;
recalculateTransforms();
}
public function viewport(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
viewportBounds.x = _arg1;
viewportBounds.y = _arg2;
viewportBounds.width = _arg3;
viewportBounds.height = _arg4;
recalculateTransforms();
}
}
}//package genius.graphics
Section 681
//SpriteSheet (genius.graphics.SpriteSheet)
package genius.graphics {
import flash.geom.*;
import flash.display.*;
public class SpriteSheet {
public var loaded:Boolean;// = false
public var horisontalCells:int;
public var mipmap:Boolean;
public var frame:Array;
public var url:String;
public var verticalCells:int;
public function SpriteSheet(){
frame = new Array();
super();
}
protected function imageLoaded(_arg1:Bitmap):void{
setData(_arg1.bitmapData);
loaded = true;
}
protected function setData(_arg1:BitmapData):void{
var _local5:int;
var _local6:BitmapData;
var _local7:Texture;
var _local2:int = (_arg1.width / horisontalCells);
var _local3:int = (_arg1.height / verticalCells);
frame.length = 0;
var _local4:int;
while (_local4 < verticalCells) {
_local5 = 0;
while (_local5 < horisontalCells) {
_local6 = new BitmapData(_local2, _local3, _arg1.transparent, 0);
_local6.copyPixels(_arg1, new Rectangle((_local5 * _local2), (_local4 * _local3), _local2, _local3), new Point(0, 0));
_local7 = new Texture();
_local7.mipmap = mipmap;
_local7.setData(_local6);
frame.push(_local7);
_local5++;
};
_local4++;
};
}
public function postload(_arg1:Engine):void{
_arg1.dataloader.load(url, imageLoaded);
}
}
}//package genius.graphics
Section 682
//SWF (genius.graphics.SWF)
package genius.graphics {
import flash.display.*;
public class SWF {
public var data:MovieClip;
public var url:String;
public function postload(_arg1:Engine):void{
_arg1.dataloader.load(url, swfLoaded);
}
protected function swfLoaded(_arg1:MovieClip):void{
trace("SWF LOADED", _arg1);
_arg1.stop();
data = _arg1;
}
}
}//package genius.graphics
Section 683
//Texture (genius.graphics.Texture)
package genius.graphics {
import flash.geom.*;
import flash.display.*;
import genius.util.*;
import flash.filters.*;
public class Texture {
public var transforms:Array;
public var mipmap:Boolean;
public var name:String;
public var maxLambda:Number;// = NAN
public var repeat:Boolean;
public var data:Array;
public var transform:Matrix;
public var url:String;
public var minLambda:Number;// = NAN
public function Texture(){
data = new Array();
transforms = new Array();
transform = new Matrix();
}
public function imageLoaded(_arg1:Bitmap):void{
setData(_arg1.bitmapData);
}
protected function trackLambda(_arg1:Number):void{
if (isNaN(maxLambda)){
maxLambda = _arg1;
minLambda = _arg1;
} else {
maxLambda = Math.max(maxLambda, _arg1);
minLambda = Math.max(minLambda, _arg1);
};
}
public function get loaded():Boolean{
return ((data.length > 0));
}
public function postload(_arg1:Engine):void{
_arg1.dataloader.load(url, imageLoaded);
}
protected function scale(_arg1:BitmapData, _arg2:Number):BitmapData{
var _local3:uint = Math.ceil((_arg1.width * _arg2));
var _local4:uint = Math.ceil((_arg1.height * _arg2));
var _local5:Matrix = new Matrix();
_local5.scale((Number(_local3) / _arg1.width), (Number(_local4) / _arg1.height));
var _local6:BitmapData = new BitmapData(_local3, _local4, _arg1.transparent, 0);
_local6.draw(_arg1, _local5, null, null, null, true);
return (_local6);
}
protected function downsample(_arg1:BitmapData):BitmapData{
_arg1 = prefilter(_arg1);
return (scale(_arg1, 0.5));
}
public function calculateMipLevel(_arg1:Matrix, _arg2:Boolean, _arg3:Number=0):int{
var _local4:int;
var _local5:Number;
if (_arg2){
_local5 = (MathUtil.mipLevel(_arg1) + _arg3);
trackLambda(_local5);
_local4 = Math.floor(MathUtil.clamp(-(_local5), 0, (this.mipLevels - 1)));
} else {
_local4 = 0;
};
return (_local4);
}
protected function prefilter(_arg1:BitmapData):BitmapData{
var _local2:BlurFilter = new BlurFilter(2, 2, 1);
var _local3:BitmapData = new BitmapData(_arg1.width, _arg1.height, _arg1.transparent, 0);
_local3.applyFilter(_arg1, new Rectangle(0, 0, _arg1.width, _arg1.height), new Point(), _local2);
return (_local3);
}
public function get mipLevels():int{
return (data.length);
}
public function setData(_arg1:BitmapData):void{
var _local2:BitmapData;
var _local3:Matrix;
var _local4:BitmapData;
data.length = 0;
transforms.length = 0;
transform.identity();
transform.scale((1 / _arg1.width), (1 / _arg1.height));
data.push(new BitmapRegion(_arg1));
transforms.push(new Matrix());
if (mipmap){
_local2 = _arg1;
_local3 = new Matrix();
while ((((_local2.width > 1)) && ((_local2.height > 1)))) {
_local4 = downsample(_local2);
data.push(new BitmapRegion(_local4));
_local3.identity();
_local3.scale((Number(_arg1.width) / _local4.width), (Number(_arg1.height) / _local4.height));
transforms.push(_local3.clone());
_local2 = _local4;
};
};
}
}
}//package genius.graphics
Section 684
//VectorShader (genius.graphics.VectorShader)
package genius.graphics {
import flash.geom.*;
import flash.display.*;
import genius.util.*;
import genius.graphics.colors.*;
public class VectorShader {
public var lodbias:Number;
public var mipmap:Boolean;
public var colorTransform:ColorTransform;
public var name:String;
public var layer:int;
public var blendMode:String;
public var texture:Texture;
protected var identityMultiplier:Boolean;
public var repeat:Boolean;
public var smooth:Boolean;
protected var identityOffset:Boolean;
public var textureMapping:Matrix;
public function VectorShader(){
colorTransform = new ColorTransform();
identityMultiplier = true;
identityOffset = true;
blendMode = BlendMode.NORMAL;
textureMapping = new Matrix();
textureMapping.translate(-0.5, -0.5);
textureMapping.scale(2, 2);
smooth = true;
repeat = false;
mipmap = true;
lodbias = 0;
layer = 1;
}
public function set colorModulation(_arg1:RGBAColor):void{
colorTransform.redMultiplier = _arg1.r;
colorTransform.greenMultiplier = _arg1.g;
colorTransform.blueMultiplier = _arg1.b;
colorTransform.alphaMultiplier = _arg1.a;
identityMultiplier = ((((((MathUtil.fuzzyEQ(_arg1.r, 1)) && (MathUtil.fuzzyEQ(_arg1.g, 1)))) && (MathUtil.fuzzyEQ(_arg1.b, 1)))) && (MathUtil.fuzzyEQ(_arg1.a, 1)));
}
public function canCopy():Boolean{
return (((!(colorTransformActive())) && ((blendMode == BlendMode.NORMAL))));
}
protected function debugMip(_arg1:Graphics, _arg2:Matrix):void{
var _local5:uint;
var _local3:Number = MathUtil.mipLevel(_arg2);
var _local4:int = Math.floor(-(_local3));
if (_local4 < 0){
_local5 = 0xFFFFFF;
} else {
if (_local4 == 0){
_local5 = 0xFF0000;
} else {
if (_local4 == 1){
_local5 = 0xFFFF00;
} else {
if (_local4 == 2){
_local5 = 0xFF00;
} else {
if (_local4 == 3){
_local5 = 0xFF00;
} else {
if (_local4 == 4){
_local5 = 0xFFFF;
} else {
_local5 = 0xFF;
};
};
};
};
};
};
_arg1.lineStyle(2, _local5, 1);
}
public function clone():VectorShader{
var _local1:VectorShader = new VectorShader();
_local1.colorTransform = new ColorTransform(colorTransform.redMultiplier, colorTransform.greenMultiplier, colorTransform.blueMultiplier, colorTransform.alphaMultiplier, colorTransform.redOffset, colorTransform.greenOffset, colorTransform.blueOffset, colorTransform.alphaOffset);
_local1.identityMultiplier = identityMultiplier;
_local1.identityOffset = identityOffset;
_local1.blendMode = blendMode;
_local1.texture = texture;
_local1.textureMapping = textureMapping.clone();
_local1.smooth = smooth;
_local1.repeat = repeat;
_local1.mipmap = mipmap;
_local1.lodbias = lodbias;
_local1.layer = layer;
return (_local1);
}
public function get colorOffset():RGBAColor{
return (new RGBAColor((colorTransform.redOffset / 0xFF), (colorTransform.greenOffset / 0xFF), (colorTransform.blueOffset / 0xFF), (colorTransform.alphaOffset / 0xFF)));
}
public function set colorOffset(_arg1:RGBAColor):void{
colorTransform.redOffset = (_arg1.r * 0xFF);
colorTransform.greenOffset = (_arg1.g * 0xFF);
colorTransform.blueOffset = (_arg1.b * 0xFF);
colorTransform.alphaOffset = (_arg1.a * 0xFF);
identityOffset = ((((((MathUtil.fuzzyEQ(_arg1.r, 0)) && (MathUtil.fuzzyEQ(_arg1.g, 0)))) && (MathUtil.fuzzyEQ(_arg1.b, 0)))) && (MathUtil.fuzzyEQ(_arg1.a, 0)));
}
public function colorTransformActive():Boolean{
return (!(((identityMultiplier) && (identityOffset))));
}
public function get colorModulation():RGBAColor{
return (new RGBAColor(colorTransform.redMultiplier, colorTransform.greenMultiplier, colorTransform.blueMultiplier, colorTransform.alphaMultiplier));
}
}
}//package genius.graphics
Section 685
//Button (genius.gui.Button)
package genius.gui {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.graphics.renderable.*;
public class Button extends Wigit {
protected var size:Point;
protected var spriteName:String;
protected var owner:GameObject;
protected var stateName:String;
protected var stateInfo:Array;
override public function cursorPress(_arg1:Engine, _arg2:Point):Boolean{
var _local3:String = currentInfo(_arg1).pressScript;
if (_local3){
var _local4 = _arg1.gameplay;
_local4[_local3](this);
};
return (true);
}
protected function currentInfo(_arg1:Engine):ButtonState{
return (stateInfo[getState(_arg1)]);
}
override public function getWigitAtPoint(_arg1:Point):Wigit{
if (contains(_arg1)){
return (this);
};
return (null);
}
override public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
super.configure(_arg1, _arg2, _arg3);
owner = _arg2;
spriteName = _arg3.spriteName;
stateName = _arg3.stateName;
size = _arg3.size;
stateInfo = _arg3.stateInfo;
}
protected function contains(_arg1:Point):Boolean{
var _local2:Placement = owner.getComponent("placement", Placement);
var _local3:Rectangle = new Rectangle((_local2.position.x - (size.x * 0.5)), (_local2.position.y - (size.y * 0.5)), size.x, size.y);
return (_local3.contains(_arg1.x, _arg1.y));
}
public function setState(_arg1:Engine, _arg2:int):void{
_arg1.gameplay[stateName] = _arg2;
}
override public function cursorRelease(_arg1:Engine, _arg2:Point):void{
var _local3:String = currentInfo(_arg1).releaseScript;
if (_local3){
var _local4 = _arg1.gameplay;
_local4[_local3](this);
};
}
override public function cursorClick(_arg1:Engine, _arg2:Point):void{
var _local3:String = currentInfo(_arg1).clickScript;
if (_local3){
var _local4 = _arg1.gameplay;
_local4[_local3](this);
};
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:SpriteRenderable = owner.getComponent(spriteName, SpriteRenderable);
if (_local3){
if (focus){
if (_arg1.managers.gui.pressTarget === this){
_local3.shader.texture = currentInfo(_arg1).pressedTexture;
} else {
_local3.shader.texture = currentInfo(_arg1).cursorOverTexture;
};
} else {
_local3.shader.texture = currentInfo(_arg1).defaultTexture;
};
};
}
override public function updateCursor(_arg1:Engine, _arg2:Point):void{
}
public function getState(_arg1:Engine):int{
if (stateName){
return (_arg1.gameplay[stateName]);
};
return (0);
}
}
}//package genius.gui
Section 686
//ButtonState (genius.gui.ButtonState)
package genius.gui {
import genius.graphics.*;
public class ButtonState {
public var name:String;
public var pressScript:String;
public var cursorOverTexture:Texture;
public var releaseScript:String;
public var clickScript:String;
public var pressedTexture:Texture;
public var defaultTexture:Texture;
}
}//package genius.gui
Section 687
//Cursor (genius.gui.Cursor)
package genius.gui {
import genius.component.*;
import genius.actor.*;
import genius.graphics.*;
import genius.graphics.renderable.*;
public class Cursor implements IComponent {
public var pressed:Boolean;
protected var spriteName:String;
protected var cursorOverTexture:Texture;
public var owner:GameObject;
protected var defaultTexture:Texture;
public var hover:Boolean;
public var show:Boolean;
public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:SpriteRenderable = owner.getComponent(spriteName, SpriteRenderable);
if (_local3){
if (((_arg1.input.mouseOver) && (show))){
if (hover){
_local3.shader.texture = cursorOverTexture;
} else {
_local3.shader.texture = defaultTexture;
};
_local3.enabled = true;
} else {
_local3.enabled = false;
};
};
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
owner = _arg2;
var _local4:GUIManager = _arg1.managers["gui"];
_local4.cursor = this;
pressed = false;
hover = false;
show = true;
spriteName = _arg3.spriteName;
defaultTexture = _arg3.defaultTexture;
cursorOverTexture = _arg3.cursorOverTexture;
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
var _local3:GUIManager = _arg1.managers["gui"];
if (_local3.cursor === this){
_local3.cursor = null;
};
}
public function link(_arg1:Engine, _arg2:GameObject):void{
}
}
}//package genius.gui
Section 688
//GUIManager (genius.gui.GUIManager)
package genius.gui {
import genius.component.*;
import flash.geom.*;
public class GUIManager implements ComponentManager {
public var root:Wigit;
public var pressTarget:Wigit;
public var cursor:Cursor;
public var focus:Wigit;
public function GUIManager(){
root = new Wigit();
root.makeRoot();
focus = null;
}
public function refocus(_arg1:Engine):void{
var _local2:Wigit = findCurrentFocus(_arg1);
if (_local2 != focus){
if (focus){
focus.looseFocus(_arg1);
};
focus = _local2;
if (focus){
focus.gainFocus(_arg1);
};
if (cursor){
cursor.hover = !((focus == null));
};
};
}
public function componentName():String{
return ("gui");
}
public function update(_arg1:Engine, _arg2:Number):void{
refocus(_arg1);
var _local3:Wigit = root.next;
while (_local3 != root) {
_local3.frame(_arg1, _arg2);
_local3 = _local3.next;
};
if (cursor){
cursor.frame(_arg1, _arg2);
};
}
public function cursorPress(_arg1:Engine, _arg2:Point):Boolean{
if (!cursor){
return (false);
};
cursor.pressed = true;
if (focus){
focus.cursorPress(_arg1, _arg2);
pressTarget = focus;
return (true);
};
pressTarget = null;
return (false);
}
public function cursorRelease(_arg1:Engine, _arg2:Point):void{
if (!cursor){
return;
};
cursor.pressed = false;
if (focus){
if (pressTarget == focus){
focus.cursorClick(_arg1, _arg2);
} else {
focus.cursorRelease(_arg1, _arg2);
};
};
pressTarget = null;
}
public function focusLost(_arg1:Engine):void{
focus = null;
refocus(_arg1);
}
protected function findCurrentFocus(_arg1:Engine):Wigit{
if (!cursor){
return (null);
};
var _local2:Placement = cursor.owner.getComponent("placement", Placement);
var _local3:Wigit;
var _local4:Wigit = root.next;
while (_local4 != root) {
_local3 = _local4.getWigitAtPoint(_local2.position);
if (_local3){
return (_local3);
};
_local4 = _local4.next;
};
return (null);
}
}
}//package genius.gui
Section 689
//TextField (genius.gui.TextField)
package genius.gui {
import genius.actor.*;
import genius.graphics.renderable.*;
import flash.text.*;
public class TextField extends Wigit {
protected var renderable:DisplayRenderable;
protected var textField:TextField;
override public function destroy(_arg1:Engine, _arg2:GameObject):void{
_arg1.game.stage.removeChild(textField);
super.destroy(_arg1, _arg2);
}
override public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
super.configure(_arg1, _arg2, _arg3);
textField = new TextField();
textField.type = TextFieldType.INPUT;
textField.textColor = 0xFF00;
textField.text = "FooBar";
textField.backgroundColor = 0xFFFFFF;
textField.background = true;
textField.borderColor = 0xFF0000;
textField.border = true;
_arg1.game.stage.addChildAt(textField, _arg1.game.stage.numChildren);
}
}
}//package genius.gui
Section 690
//Wigit (genius.gui.Wigit)
package genius.gui {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.util.*;
public class Wigit extends LinkedList implements IComponent {
protected var focus:Boolean;
public function getWigitAtPoint(_arg1:Point):Wigit{
return (null);
}
public function cursorPress(_arg1:Engine, _arg2:Point):Boolean{
return (false);
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
var _local3:GUIManager;
unlink();
if (focus){
_local3 = _arg1.managers["gui"];
_local3.focusLost(_arg1);
};
}
public function cursorClick(_arg1:Engine, _arg2:Point):void{
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
var _local4:GUIManager = _arg1.managers["gui"];
insertBefore(_local4.root);
}
public function cursorRelease(_arg1:Engine, _arg2:Point):void{
}
public function link(_arg1:Engine, _arg2:GameObject):void{
}
public function frame(_arg1:Engine, _arg2:Number):void{
}
public function gainFocus(_arg1:Engine):void{
focus = true;
}
public function looseFocus(_arg1:Engine):void{
focus = false;
}
public function updateCursor(_arg1:Engine, _arg2:Point):void{
}
}
}//package genius.gui
Section 691
//CollisionID (genius.physics.CollisionID)
package genius.physics {
import Box2D.Collision.Shapes.*;
public class CollisionID {
public var description:String;
public var uid:int;
public var mask:int;// = 0
protected static var currentID:int = 1;
public function CollisionID(){
uid = newID();
}
public function configure(_arg1:b2ShapeDef):void{
_arg1.filter.categoryBits = uid;
_arg1.filter.maskBits = mask;
}
protected static function newID():int{
var _local1:int = currentID;
currentID = (currentID << 1);
return (_local1);
}
}
}//package genius.physics
Section 692
//CollisionInteraction (genius.physics.CollisionInteraction)
package genius.physics {
public class CollisionInteraction {
public var self:CollisionID;
public var other:Array;
public function postload(_arg1:Engine):void{
var _local2:CollisionID;
for each (_local2 in other) {
self.mask = (self.mask | _local2.uid);
};
trace(self, self.uid, self.mask);
}
}
}//package genius.physics
Section 693
//ContactInfo (genius.physics.ContactInfo)
package genius.physics {
import flash.geom.*;
import genius.actor.*;
import Box2D.Dynamics.Contacts.*;
public class ContactInfo {
public var normal:Point;
public var go1:GameObject;
public var go2:GameObject;
public var normalImpulse:Number;
public var position:Point;
public var tangentImpulse:Number;
public var physical:Boolean;
public function ContactInfo(_arg1:GameObject, _arg2:GameObject, _arg3:Point, _arg4:Point, _arg5:Number, _arg6:Number, _arg7:Boolean){
this.go1 = _arg1;
this.go2 = _arg2;
this.position = _arg3;
this.normal = _arg4;
this.normalImpulse = _arg5;
this.tangentImpulse = tangentImpulse;
this.physical = _arg7;
}
public function flip():void{
var _local1:GameObject = go1;
go1 = go2;
go2 = _local1;
normal.x = -(normal.x);
normal.y = -(normal.y);
}
public static function fromContactResult(_arg1:GameObject, _arg2:GameObject, _arg3:b2ContactResult, _arg4:Boolean):ContactInfo{
return (new ContactInfo(_arg1, _arg2, PhysicsUtil.convertPoint(_arg3.position), PhysicsUtil.convertPoint(_arg3.normal), _arg3.normalImpulse, _arg3.tangentImpulse, _arg4));
}
}
}//package genius.physics
Section 694
//ContactListener (genius.physics.ContactListener)
package genius.physics {
import genius.actor.*;
import Box2D.Dynamics.*;
import Box2D.Dynamics.Contacts.*;
public class ContactListener extends b2ContactListener {
public var collisions:Array;
public function ContactListener(){
collisions = new Array();
}
public function dispatch(_arg1:Engine):void{
var _local2:ContactInfo;
for each (_local2 in collisions) {
if (!_local2.go1.dead){
_local2.go1.collide(_arg1, _local2.go2, _local2);
};
_local2.flip();
if (!_local2.go1.dead){
_local2.go1.collide(_arg1, _local2.go2, _local2);
};
};
reset();
}
override public function Result(_arg1:b2ContactResult):void{
var _local2:GameObject = _arg1.shape1.GetBody().GetUserData();
var _local3:GameObject = _arg1.shape2.GetBody().GetUserData();
collisions.push(ContactInfo.fromContactResult(_local2, _local3, _arg1, true));
}
public function reset():void{
collisions.length = 0;
}
}
}//package genius.physics
Section 695
//PhysicsUtil (genius.physics.PhysicsUtil)
package genius.physics {
import flash.geom.*;
import Box2D.Common.Math.*;
public class PhysicsUtil {
public static function convertMatrix(_arg1:b2XForm):Matrix{
return (new Matrix(_arg1.R.col1.x, _arg1.R.col1.y, _arg1.R.col2.x, _arg1.R.col2.y, _arg1.position.x, _arg1.position.y));
}
public static function convertPoint(_arg1:b2Vec2):Point{
return (new Point(_arg1.x, _arg1.y));
}
}
}//package genius.physics
Section 696
//MochiPreloader (genius.preloader.MochiPreloader)
package genius.preloader {
import mochi.as3.*;
public class MochiPreloader extends PreloaderBase {
override protected function init():void{
super.init();
var _local1:String = adID();
if (_local1){
if (adEnabled()){
trace("showing ad");
showAd(_local1);
} else {
trace("skipping ad");
advertisementDone();
};
services(_local1);
} else {
advertisementDone();
};
}
protected function resString():String{
return ("700x600");
}
protected function connect_failed(_arg1:String):void{
trace("CONNECT FAILED", _arg1);
}
protected function adID():String{
return (null);
}
protected function ad_finished():void{
trace("AD Finished");
advertisementDone();
}
protected function showAd(_arg1:String):void{
if (_arg1){
MochiAd.showPreGameAd({clip:root, id:_arg1, res:resString(), ad_started:ad_started, ad_finished:ad_finished, ad_failed:ad_failed, no_progress_bar:true});
} else {
advertisementDone();
};
}
protected function ad_failed():void{
trace("AD Failed");
advertisementDone();
}
protected function ad_started():void{
trace("AD Started");
}
protected function services(_arg1:String):void{
if (_arg1){
MochiServices.connect(_arg1, root, connect_failed);
};
}
protected function adEnabled():Boolean{
return (true);
}
}
}//package genius.preloader
Section 697
//PreloaderBase (genius.preloader.PreloaderBase)
package genius.preloader {
import flash.display.*;
import flash.events.*;
import genius.resource.*;
import flash.utils.*;
import flash.text.*;
public class PreloaderBase extends MovieClip implements ILoaderListener {
protected var playOK:Boolean;
protected var state:int;
protected var progress:ProgressBar;
protected var game;
protected var adDisplayed:Boolean;
protected static const LOAD_DATA:int = 1;
protected static const LOAD_ABORT:int = 3;
protected static const LOAD_SWF:int = 0;
protected static const LOAD_DONE:int = 2;
public function PreloaderBase(){
addEventListener(Event.ADDED_TO_STAGE, onStage);
}
protected function startLoadData():void{
}
protected function domain():String{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:int;
var _local6:int;
var _local1:String = stage.loaderInfo.loaderURL;
if (_local1.indexOf("http") == 0){
_local2 = (_local1.indexOf("://") + 3);
_local3 = _local1.indexOf("/", _local2);
_local4 = _local1.substring(_local2, _local3);
_local5 = (_local4.lastIndexOf(".") - 1);
_local6 = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
return (_local4);
};
return ("the local filesystem");
}
protected function cleanup():void{
while (numChildren) {
removeChildAt((numChildren - 1));
};
progress = null;
}
protected function createLogo():DisplayObject{
return (null);
}
protected function check(_arg1:Array):Boolean{
var _local3:String;
var _local2:String = domain();
for each (_local3 in _arg1) {
if (_local2 == _local3){
return (true);
};
};
return (false);
}
public function loadingProgress(_arg1:Number):void{
if (progress){
progress.setAmount(_arg1);
};
}
protected function createProgressBar(_arg1:int, _arg2:int):ProgressBar{
var _local3:Number = 5;
var _local4:ProgressBar = new ProgressBar((_arg1 - (_local3 * 2)), 15, 2576731, 16756769, 16756769, 1577251);
_local4.x = _local3;
_local4.y = (_arg2 - (15 + _local3));
return (_local4);
}
protected function track(_arg1:String):void{
if (_arg1){
MochiBot.track(this, _arg1);
};
}
protected function playPressed():void{
playOK = true;
checkDone();
}
protected function createGame():void{
var _local1:Class = Class(getDefinitionByName(gameName()));
game = new (_local1);
game.rootDirectory = rootDirectory;
game.init();
game.loadData(this);
}
protected function init():void{
state = LOAD_SWF;
playOK = false;
adDisplayed = false;
createScene();
var _local1:Array = allowed();
if (_local1){
restrictToAllowed(_local1);
};
var _local2:String = trackID();
if (_local2){
track(_local2);
};
if (state == LOAD_SWF){
if (alreadyLoaded()){
trace("PRELOADER SWF has already been loaded.");
loadingCompleted();
} else {
trace("PRELOADER Waiting for load", framesLoaded, totalFrames);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
loaderInfo.addEventListener(Event.COMPLETE, onComplete);
};
};
}
protected function restrictToAllowed(_arg1:Array):void{
if (!check(_arg1)){
abort();
};
}
protected function gameName():String{
return (null);
}
protected function nextState():void{
switch (state){
case LOAD_SWF:
trace("PRELOADER loading data");
nextFrame();
state = LOAD_DATA;
startLoadData();
createGame();
break;
case LOAD_DATA:
trace("PRELOADER loading done");
state = LOAD_DONE;
postLoad();
checkDone();
break;
};
}
protected function onStage(_arg1):void{
removeEventListener(Event.ADDED_TO_STAGE, onStage);
init();
}
public function loadingStarted():void{
if (progress){
progress.setAmount(0);
};
}
protected function trackID():String{
return (null);
}
protected function advertisementDone():void{
adDisplayed = true;
checkDone();
}
protected function allowed():Array{
return (null);
}
protected function checkDone():void{
trace("PRELOADER status", state, adDisplayed);
if (((((playOK) && (adDisplayed))) && ((state == LOAD_DONE)))){
attachGame();
};
}
public function get rootDirectory():String{
var _local1:String = stage.loaderInfo.loaderURL;
return (_local1.substring(0, (_local1.lastIndexOf("/") + 1)));
}
protected function onProgress(_arg1:ProgressEvent):void{
loadingProgress((Number(_arg1.bytesLoaded) / _arg1.bytesTotal));
}
public function loadingCompleted():void{
if (progress){
progress.setAmount(1);
};
nextState();
}
protected function createScene():void{
var _local2:int;
var _local3:int;
var _local1:DisplayObject = createLogo();
if (_local1){
_local2 = 700;
_local3 = 600;
_local1.x = ((_local2 - _local1.width) * 0.5);
_local1.y = ((_local3 - _local1.height) * 0.5);
addChild(_local1);
};
postLogo();
progress = createProgressBar(_local2, _local3);
if (progress){
addChild(progress);
};
}
protected function postLogo():void{
}
protected function postLoad():void{
}
protected function abort():void{
state = LOAD_ABORT;
var _local1:TextField = new TextField();
_local1.textColor = 0xFFFFFF;
_local1.autoSize = TextFieldAutoSize.CENTER;
_local1.defaultTextFormat = new TextFormat("Arial", 16);
_local1.text = (("This game is site locked, and will not run on " + domain()) + ". Please email contact@stolengoose.com");
_local1.x = 0;
_local1.y = 0;
addChild(_local1);
}
protected function onComplete(_arg1):void{
trace("PRELOADER swf loaded");
loadingCompleted();
}
protected function attachGame():void{
trace("PRELOADER attaching game");
cleanup();
addChild(game);
game.onAttach();
game.resourcesLoaded();
}
protected function alreadyLoaded():Boolean{
return ((framesLoaded == totalFrames));
}
}
}//package genius.preloader
Section 698
//ProgressBar (genius.preloader.ProgressBar)
package genius.preloader {
import flash.display.*;
import flash.geom.*;
public class ProgressBar extends Sprite {
protected var bgColor:uint;
protected var amt:Number;
protected var borderColor:uint;
protected var fillColor1:uint;
protected var barRoundness:Number;
protected var barWidth:Number;
protected var fillColor0:uint;
protected var barHeight:Number;
protected var barBorder:Number;
public function ProgressBar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint=0, _arg6:uint=0xFF0000, _arg7:uint=0xFF8800, _arg8:uint=0xFFFFFF){
barWidth = _arg1;
barHeight = _arg2;
barRoundness = _arg3;
barBorder = _arg4;
this.bgColor = _arg5;
this.fillColor0 = _arg6;
this.fillColor1 = _arg7;
this.borderColor = _arg8;
setAmount(0);
}
public function setAmount(_arg1:Number):void{
this.amt = _arg1;
redraw();
}
public function redraw():void{
graphics.clear();
var _local1:Number = 4;
var _local2:Number = barRoundness;
var _local3:Matrix = new Matrix();
_local3.createGradientBox(barWidth, (barHeight - _local1), (Math.PI / 2), 0, (_local1 * 0.5));
graphics.lineStyle();
graphics.beginFill(bgColor);
graphics.drawRoundRect(0, 0, barWidth, barHeight, _local2);
graphics.endFill();
graphics.lineStyle();
graphics.beginGradientFill(GradientType.LINEAR, [fillColor0, fillColor1], [1, 1], [0, 0xFF], _local3, SpreadMethod.PAD, InterpolationMethod.LINEAR_RGB);
graphics.drawRoundRect(0, 0, (barWidth * amt), barHeight, _local2);
graphics.endFill();
if (borderColor > 0){
graphics.lineStyle(barBorder, borderColor);
graphics.drawRoundRect(0, 0, barWidth, barHeight, _local2);
};
}
}
}//package genius.preloader
Section 699
//BooleanSchema (genius.resource.config.BooleanSchema)
package genius.resource.config {
import genius.resource.*;
public class BooleanSchema extends Schema {
public function BooleanSchema(){
name = "boolean";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:String = _arg2.text().toLowerCase();
if (_local4 == "true"){
return (true);
};
if (_local4 == "false"){
return (false);
};
throw (new Error(("Expected a boolean value, got: " + _arg2.text())));
}
}
}//package genius.resource.config
Section 700
//ColorSchema (genius.resource.config.ColorSchema)
package genius.resource.config {
import genius.resource.*;
import genius.graphics.colors.*;
public class ColorSchema extends Schema {
public function ColorSchema(){
name = "color";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:Array = _arg2.text().split(/\s+/);
if ((((_local4.length < 3)) || ((_local4.length > 4)))){
throw (new Error(("Cannot parse color: " + _arg2.text())));
};
var _local5:Number = Number(_local4[0]);
var _local6:Number = Number(_local4[1]);
var _local7:Number = Number(_local4[2]);
var _local8:Number = 1;
if (_local4.length == 4){
_local8 = Number(_local4[3]);
};
return (new RGBAColor(_local5, _local6, _local7, _local8));
}
}
}//package genius.resource.config
Section 701
//ComponentConfig (genius.resource.config.ComponentConfig)
package genius.resource.config {
public class ComponentConfig {
public var parent:ComponentConfig;// = null
public var data;
public var type:Schema;
public var name:String;// = null
}
}//package genius.resource.config
Section 702
//EntityConfig (genius.resource.config.EntityConfig)
package genius.resource.config {
import genius.actor.*;
public class EntityConfig {
public var component:Array;
public var parent:EntityConfig;// = null
protected var lut:Object;
public var pkg:Package;// = null
public var nativeType:Class;
public var name:String;// = null
public function EntityConfig(){
nativeType = GameObject;
component = new Array();
lut = new Object();
super();
}
public function lookup(_arg1:String){
var _local2:*;
if ((_arg1 in lut)){
return (lut[_arg1]);
};
if (parent){
_local2 = parent.lookup(_arg1);
lut[_arg1] = _local2;
return (_local2);
};
return (null);
}
public function lookupParent(_arg1:String){
if (parent){
return (parent.lookup(_arg1));
};
return (null);
}
public function addComponent(_arg1:ComponentConfig):void{
component.push(_arg1);
if (_arg1.name){
lut[_arg1.name] = _arg1;
};
}
public function finalize():void{
var _local1:ComponentConfig;
if (parent){
for each (_local1 in parent.component) {
if (!(_local1.name in lut)){
addComponent(_local1);
};
};
};
}
}
}//package genius.resource.config
Section 703
//EntitySchema (genius.resource.config.EntitySchema)
package genius.resource.config {
import genius.resource.*;
import flash.utils.*;
public class EntitySchema extends Schema {
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:EntityConfig;
var _local5:String;
var _local6:XML;
var _local7:String;
var _local8:ComponentConfig;
var _local9:String;
var _local10:*;
if ((((_arg2.elements().length() == 0)) && (String(_arg2.text())))){
return (_arg1.resolveDefinedName(_arg2.text()));
};
_local4 = new EntityConfig();
_local4.pkg = _arg1.current;
_local4.name = _arg1.attributeString(_arg2, "name");
_local5 = _arg1.attributeString(_arg2, "extends");
if (_local5){
_local4.parent = _arg1.resolveDefinedName(_local5);
};
if (_arg2.elements("class").length() != 0){
_local7 = _arg2.elements("class")[0].text();
_local4.nativeType = (getDefinitionByName(_local7) as Class);
} else {
if (_local4.parent){
_local4.nativeType = _local4.parent.nativeType;
};
};
for each (_local6 in _arg2.component) {
_local8 = new ComponentConfig();
_local8.name = _arg1.attributeString(_local6, "name");
if (_local8.name){
_local8.parent = _local4.lookupParent(_local8.name);
};
if (_local8.parent){
_local8.type = _local8.parent.type;
};
_local9 = _arg1.attributeString(_local6, "type");
if (_local9){
if (!_local8.type){
_local8.type = _arg1.resolveDefinedName(_local9);
} else {
if (_local8.type !== _arg1.resolveDefinedName(_local9)){
throw (new Error("Type mismatch for component!"));
};
};
};
if (!_local8.type){
throw (new Error(("Cannot determine component type for " + _local6.toXMLString())));
};
_local10 = null;
if (_local8.parent){
_local10 = _local8.parent.data;
};
_local8.data = _local8.type.fromXML(_arg1, _local6, _local10);
_local4.addComponent(_local8);
};
_local4.finalize();
return (_local4);
}
}
}//package genius.resource.config
Section 704
//FieldBootstrap (genius.resource.config.FieldBootstrap)
package genius.resource.config {
import genius.resource.*;
public class FieldBootstrap extends Schema {
public function FieldBootstrap(){
name = "field";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:FieldSchema = new FieldSchema();
_local4.name = _arg2.name[0].text();
if (_arg2.schema.length()){
_local4.schema = _arg1.fromXML("schema", _arg2.schema[0]);
if (_arg2.default.length()){
_local4.defaultValue = _local4.schema.fromXML(_arg1, _arg2.default[0]);
};
};
if (_arg2.repeated.length()){
_local4.repeated = _arg1.fromXML("boolean", _arg2.repeated[0]);
} else {
_local4.repeated = false;
};
if (_arg2.optional.length()){
_local4.optional = _arg1.fromXML("boolean", _arg2.optional[0]);
} else {
_local4.optional = false;
};
return (_local4);
}
}
}//package genius.resource.config
Section 705
//FieldSchema (genius.resource.config.FieldSchema)
package genius.resource.config {
import genius.resource.*;
public class FieldSchema extends Schema {
public var optional:Boolean;
public var schema:Schema;
public var repeated:Boolean;
public var defaultValue;
protected function parseNode(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:Schema = schema;
var _local5:String = _arg2.@type;
if (_local5){
_local4 = _arg1.resolveDefinedName(_local5);
};
return (_local4.fromXML(_arg1, _arg2, _arg3));
}
public function handle(_arg1:ConfigParser, _arg2:XML, _arg3, _arg4):void{
var _local7:XML;
var _local8:*;
var _local5:XMLList = _arg2.elements(name);
var _local6:* = null;
if (repeated){
_local6 = new Array();
for each (_local7 in _local5) {
_local6.push(parseNode(_arg1, _local7));
};
} else {
if (_local5.length() == 0){
if ((((_local6 == null)) && (!((_arg4 == null))))){
_local6 = _arg4[name];
};
if ((((_local6 == null)) && (!((defaultValue == null))))){
_local6 = defaultValue;
};
if (((!(optional)) && ((_local6 == null)))){
throw (Error(((((("Did not define field: " + String(_arg3.name)) + ".") + name) + "\n") + String(_arg2))));
};
} else {
_local8 = null;
if (((!((_arg4 == null))) && ((name in _arg4)))){
_local8 = _arg4[name];
};
_local6 = parseNode(_arg1, _local5[0], _local8);
};
};
if (_local6 != null){
_arg3[name] = _local6;
};
}
}
}//package genius.resource.config
Section 706
//FloatSchema (genius.resource.config.FloatSchema)
package genius.resource.config {
import genius.resource.*;
public class FloatSchema extends Schema {
public function FloatSchema(){
name = "float";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
return (Number(_arg2.text()));
}
}
}//package genius.resource.config
Section 707
//IntegerSchema (genius.resource.config.IntegerSchema)
package genius.resource.config {
import genius.resource.*;
public class IntegerSchema extends Schema {
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
return (int(_arg2.text()));
}
}
}//package genius.resource.config
Section 708
//ListSchema (genius.resource.config.ListSchema)
package genius.resource.config {
import genius.resource.*;
public class ListSchema extends Schema {
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local5:XML;
var _local6:*;
var _local4:Array = new Array();
for each (_local5 in _arg2.elements()) {
_local6 = _arg1.fromXML(_local5.localName(), _local5);
_local4.push(_local6);
};
return (_local4);
}
}
}//package genius.resource.config
Section 709
//Package (genius.resource.config.Package)
package genius.resource.config {
public dynamic class Package {
}
}//package genius.resource.config
Section 710
//PackageSchema (genius.resource.config.PackageSchema)
package genius.resource.config {
import genius.resource.*;
public class PackageSchema extends Schema {
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local6:XML;
var _local7:*;
var _local8:String;
var _local4:Package = new Package();
var _local5:Boolean;
if (_arg1.root == null){
_local5 = true;
_arg1.root = _local4;
_local4.__name__ = "__root__";
} else {
_local4.__name__ = _arg2.@name;
};
_local4.__parent__ = _arg1.current;
_arg1.current = _local4;
for each (_local6 in _arg2.elements()) {
_local7 = _arg1.fromXML(_local6.localName(), _local6);
_local8 = _arg1.attributeString(_local6, "name");
if (_local8){
if (_local8 == ""){
throw (new Error("Attempted to define an empty name."));
};
if (_local4[_local8]){
throw (new Error((("Attempted to redefined name: '" + _local8) + "'")));
};
_local4[_local8] = _local7;
};
};
_arg1.current = _local4.__parent__;
if (_local5){
_arg1.root = null;
};
return (_local4);
}
}
}//package genius.resource.config
Section 711
//PointSchema (genius.resource.config.PointSchema)
package genius.resource.config {
import genius.resource.*;
import flash.geom.*;
public class PointSchema extends Schema {
public function PointSchema(){
name = "point";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:Array = _arg2.text().split(/\s+/);
if (_local4.length != 2){
throw (new Error(("Cannot parse point: " + _arg2.text())));
};
var _local5:Number = Number(_local4[0]);
var _local6:Number = Number(_local4[1]);
return (new Point(_local5, _local6));
}
}
}//package genius.resource.config
Section 712
//Schema (genius.resource.config.Schema)
package genius.resource.config {
import genius.resource.*;
import genius.actor.*;
public class Schema {
public var __parent__:Package;// = null
public var name:String;// = "?"
public function createComponent(_arg1:Engine, _arg2:GameObject, _arg3){
throw (new Error(((("Cannot create component out of " + name) + " - ") + _arg3)));
}
public function fullName():String{
var _local1 = "?";
if (__parent__){
_local1 = __parent__.fullName();
};
return (((_local1 + ".") + name));
}
public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
throw (new Error("fromXML is not implemented"));
}
}
}//package genius.resource.config
Section 713
//StringSchema (genius.resource.config.StringSchema)
package genius.resource.config {
import genius.resource.*;
public class StringSchema extends Schema {
public function StringSchema(){
name = "string";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
return (_arg2.text().toString().replace(/\r/g, ""));
}
}
}//package genius.resource.config
Section 714
//StructureBootstrap (genius.resource.config.StructureBootstrap)
package genius.resource.config {
import genius.resource.*;
import flash.utils.*;
public class StructureBootstrap extends Schema {
public function StructureBootstrap(){
name = "schema";
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:*;
var _local5:StructureSchema;
var _local6:String;
var _local7:XML;
if ((((_arg2.elements().length() == 0)) && (String(_arg2.text())))){
_local4 = _arg1.resolveName(_arg2.text());
if (!_local4){
throw (new Error(("Reference to undefined name: " + _arg2.text())));
};
return (_local4);
//unresolved jump
};
_local5 = new StructureSchema();
_local5.__parent__ = _arg1.current;
_local5.name = _arg2.@name;
_local6 = _arg1.attributeString(_arg2, "extends");
if (_local6){
_local5.parent = _arg1.resolveName(_local6);
};
if (_arg2.native.length()){
_local5.nativeType = getDefinitionByName(_arg2.native[0].text());
};
if (_arg2.componentType.length()){
_local5.componentType = (getDefinitionByName(_arg2.componentType[0].text()) as Class);
};
if (!_local5.nativeType){
_local5.nativeType = ResourceGlob;
};
if (_arg2.dopostload.length()){
_local5.dopostload = _arg1.fromXML("boolean", _arg2.dopostload[0]);
} else {
_local5.dopostload = false;
};
_local5.fields = new Array();
for each (_local7 in _arg2.field) {
_local5.fields.push(_arg1.fromXML("field", _local7));
};
return (_local5);
}
}
}//package genius.resource.config
import genius.component.*;
import genius.actor.*;
dynamic class ResourceGlob implements IComponent {
private function ResourceGlob(){
}
public function link(_arg1:Engine, _arg2:GameObject):void{
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
}
}
Section 715
//StructureSchema (genius.resource.config.StructureSchema)
package genius.resource.config {
import genius.resource.*;
import genius.component.*;
import genius.actor.*;
public class StructureSchema extends Schema {
public var parent:StructureSchema;// = null
public var dopostload:Boolean;
public var componentType:Class;
public var nativeType:Object;
public var fields:Array;
override public function createComponent(_arg1:Engine, _arg2:GameObject, _arg3){
var _local4:IComponent;
if (componentType){
_local4 = new componentType();
_local4.configure(_arg1, _arg2, _arg3);
return (_local4);
};
return (_arg3);
}
public function parseFields(_arg1:ConfigParser, _arg2:XML, _arg3, _arg4=null){
var _local5:FieldSchema;
if (parent){
parent.parseFields(_arg1, _arg2, _arg3, _arg4);
};
for each (_local5 in fields) {
_local5.handle(_arg1, _arg2, _arg3, _arg4);
};
}
override public function fromXML(_arg1:ConfigParser, _arg2:XML, _arg3=null){
var _local4:String;
var _local5:*;
if ((((_arg2.elements().length() == 0)) && (String(_arg2.text())))){
return (_arg1.resolveDefinedName(_arg2.text()));
};
_local4 = _arg1.attributeString(_arg2, "extends");
if (_local4){
_arg3 = _arg1.resolveDefinedName(_local4);
};
_local5 = new nativeType();
parseFields(_arg1, _arg2, _local5, _arg3);
if (dopostload){
_local5.postload(_arg1.engine);
};
return (_local5);
}
}
}//package genius.resource.config
Section 716
//ConfigParser (genius.resource.ConfigParser)
package genius.resource {
import flash.events.*;
import genius.resource.config.*;
import flash.net.*;
public class ConfigParser {
public var root:Package;
protected var strict:Boolean;// = false
public var builtins:Package;
public var engine:Engine;
public var current:Package;
public function ConfigParser(_arg1:Engine){
this.engine = _arg1;
builtins = new Package();
builtins.__name__ = "__builtins__";
builtins["package"] = new PackageSchema();
builtins["list"] = new ListSchema();
builtins["schema"] = new StructureBootstrap();
builtins["field"] = new FieldBootstrap();
builtins["integer"] = new IntegerSchema();
builtins["float"] = new FloatSchema();
builtins["string"] = new StringSchema();
builtins["boolean"] = new BooleanSchema();
builtins["color"] = new ColorSchema();
builtins["point"] = new PointSchema();
builtins["entity"] = new EntitySchema();
current = root;
}
public function resolveDefinedName(_arg1:String){
var _local2:* = resolveName(_arg1);
if (_arg1 == null){
throw (new Error(("Reference to undefined name: " + _arg1)));
};
return (_local2);
}
public function attributeString(_arg1:XML, _arg2:String):String{
var _local3:XMLList = _arg1.attribute(_arg2);
if (_local3.length() > 0){
return (_local3.toString());
};
return (null);
}
public function fromXML(_arg1:String, _arg2:XML){
var _local3:Schema = resolveName(_arg1);
if (!_local3){
throw (new Error(("Cannot find schema: " + _arg1)));
};
var _local4:* = _local3.fromXML(this, _arg2);
return (_local4);
}
public function resolveName(_arg1:String){
var _local4:Package;
var _local6:String;
if (!_arg1){
throw (new Error("Cannot resolve empty name."));
};
var _local2:Array = _arg1.split(".");
var _local3:String = _local2.pop();
if (_local2.length > 0){
_local4 = root;
if (_local4 == null){
return (null);
};
for each (_local6 in _local2) {
_local4 = _local4[_local6];
if (_local4 == null){
return (null);
};
};
} else {
_local4 = current;
};
var _local5:* = null;
if (_local4 != null){
_local5 = _local4[_local3];
};
if ((((((_local5 == null)) && (!((_local4 == root))))) && (!((root == null))))){
_local5 = root[_local3];
};
if (_local5 == null){
_local5 = builtins[_local3];
};
return (_local5);
}
}
}//package genius.resource
Section 717
//DataLoader (genius.resource.DataLoader)
package genius.resource {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.net.*;
import flash.system.*;
import generated.*;
public class DataLoader {
protected const errorsAreFatal:Boolean = false;
protected var waterline:int;
public var soundLoaderContext:SoundLoaderContext;
protected var tasks:Array;
protected var queue:Array;
public var loaderContext:LoaderContext;
protected var rootDirectory:String;
protected var info:IEventDispatcher;
protected var listener:ILoaderListener;
protected var current:DataLoaderItem;
public function DataLoader(_arg1:String){
rootDirectory = _arg1;
loaderContext = new LoaderContext();
soundLoaderContext = new SoundLoaderContext();
queue = new Array();
tasks = new Array();
var _local2:int;
while (_local2 < 2) {
tasks.push(new DataLoaderTask(_arg1, this));
_local2++;
};
current = null;
}
protected function loadNext():void{
advanceCurrent();
var _local1:String = ResourceEmbedding.DONE;
while (current) {
_local1 = ResourceEmbedding.getResource(this, current.url);
_local1;
if (_local1 != ResourceEmbedding.DONE){
break;
};
advanceCurrent();
};
if (current){
if (_local1 == ResourceEmbedding.FAIL){
initiateLoading();
};
} else {
(waterline = 0);
if (listener){
listener.loadingCompleted();
};
};
}
protected function loadError(_arg1:IOErrorEvent):void{
if (current.retries){
(current.retries = (current.retries - 1));
retry();
} else {
logError(_arg1.text);
cleanupCurrent();
};
}
protected function logError(_arg1:String):void{
trace(_arg1);
if (errorsAreFatal){
throw (new Error(("Load failed! " + _arg1)));
};
}
protected function removeListeners():void{
info.removeEventListener(Event.OPEN, loadOpen);
info.removeEventListener(ProgressEvent.PROGRESS, loadProgress);
info.removeEventListener(Event.COMPLETE, loadCompleteCallback);
info.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
info.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
(info = null);
}
public function update():void{
var _local1:DataLoaderTask;
for each (_local1 in tasks) {
};
if (listener){
listener.loadingProgress(progress());
};
}
protected function loadSound(_arg1:String, _arg2:Function):void{
var _local3:Sound = new Sound();
addListeners(_local3);
_local3.load(new URLRequest(_arg1), soundLoaderContext);
}
protected function loadImage(_arg1:String, _arg2:Function):void{
var _local3:Loader = new Loader();
addListeners(_local3.contentLoaderInfo);
_local3.load(new URLRequest(_arg1), loaderContext);
}
protected function advanceCurrent():void{
if (queue.length){
(current = queue.shift());
} else {
(current = null);
};
}
protected function loadXML(_arg1:String, _arg2:Function):void{
(XML.ignoreWhitespace = true);
var _local3:URLLoader = new URLLoader();
addListeners(_local3);
_local3.load(new URLRequest(_arg1));
}
protected function addListeners(_arg1:IEventDispatcher):void{
(info = _arg1);
info.addEventListener(Event.OPEN, loadOpen);
info.addEventListener(ProgressEvent.PROGRESS, loadProgress);
info.addEventListener(Event.COMPLETE, loadCompleteCallback);
info.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
info.addEventListener(IOErrorEvent.IO_ERROR, loadError);
}
protected function loadOpen(_arg1:Event):void{
}
protected function loadCompleteCallback(_arg1:Event):void{
var _local2:*;
if ((_arg1.target is Sound)){
_local2 = _arg1.target;
_local2;
} else {
if ((_arg1.target is URLLoader)){
_local2 = _arg1.target.data;
_local2;
if (current.isXML()){
_local2 = XML(_local2);
_local2;
};
} else {
_local2 = _arg1.target.content;
_local2;
};
};
loadComplete(_local2);
cleanupCurrent();
}
public function loadBytes(_arg1):void{
var _local2:Loader = new Loader();
addListeners(_local2.contentLoaderInfo);
_local2.loadBytes(_arg1, loaderContext);
}
public function load(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
queue.push(new DataLoaderItem(_arg1, _arg2, _arg3));
(waterline = (waterline + 1));
}
public function begin():void{
if (current == null){
(waterline = queue.length);
if (listener){
listener.loadingStarted();
};
loadNext();
};
}
protected function initiateLoading():void{
var _local1:String = (rootDirectory + current.url);
if (current.isImage()){
loadImage(_local1, current.callback);
} else {
if (current.isSound()){
loadSound(_local1, current.callback);
} else {
if (current.isXML()){
loadXML(_local1, current.callback);
} else {
if (current.isSWF()){
loadSWF(_local1, current.callback);
} else {
throw (new Error(("Unreconized file type: " + current.url)));
};
};
};
};
}
public function progress():Number{
if (waterline == 0){
return (1);
};
return (((waterline - queue.length) / Number(waterline)));
}
protected function securityError(_arg1:IOErrorEvent):void{
logError(_arg1.text);
cleanupCurrent();
}
public function numPending():int{
return (queue.length);
}
protected function cleanupCurrent():void{
removeListeners();
loadNext();
}
protected function retry():void{
removeListeners();
trace("retry", current.url);
initiateLoading();
}
protected function loadProgress(_arg1:ProgressEvent):void{
if (((current.stream) && (!(_arg1.target.isBuffering)))){
trace("Buffering Complete", (rootDirectory + current.url), _arg1.target.bytesLoaded, _arg1.target.bytesTotal);
current.callback(_arg1.target);
cleanupCurrent();
};
}
protected function loadSWF(_arg1:String, _arg2:Function):void{
var _local3:Loader = new Loader();
addListeners(_local3.contentLoaderInfo);
_local3.load(new URLRequest(_arg1), loaderContext);
}
public function setListener(_arg1:ILoaderListener):void{
(listener = _arg1);
if (((listener) && (!((current == null))))){
listener.loadingStarted();
};
}
public function loadComplete(_arg1):void{
trace("complete", (rootDirectory + current.url));
current.callback(_arg1);
}
}
}//package genius.resource
Section 718
//DataLoaderItem (genius.resource.DataLoaderItem)
package genius.resource {
public class DataLoaderItem {
public var stream:Boolean;
public var retries:int;
public var callback:Function;
public var url:String;
protected static var soundRE:RegExp = /\.(wav|mp3)$/i;
protected static var swfRE:RegExp = /\.(swf)$/i;
protected static var xmlRE:RegExp = /\.(xml)$/i;
protected static var imageRE:RegExp = /\.(png|gif|jpg|jpeg)$/i;
public function DataLoaderItem(_arg1:String, _arg2:Function, _arg3:Boolean=false){
this.url = _arg1;
this.callback = _arg2;
this.stream = _arg3;
retries = 3;
}
public function isSound():Boolean{
return (soundRE.test(url));
}
public function isXML():Boolean{
return (xmlRE.test(url));
}
public function isImage():Boolean{
return (imageRE.test(url));
}
public function isSWF():Boolean{
return (swfRE.test(url));
}
}
}//package genius.resource
Section 719
//DataLoaderTask (genius.resource.DataLoaderTask)
package genius.resource {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.net.*;
import generated.*;
public class DataLoaderTask {
protected const errorsAreFatal:Boolean = false;
protected var loader:DataLoader;
protected var _amountDone:Number;
protected var _done:Boolean;
protected var root:String;
protected var loaderInfo:IEventDispatcher;
protected var info:DataLoaderItem;
public function DataLoaderTask(_arg1:String, _arg2:DataLoader){
this.root = _arg1;
this.loader = _arg2;
_done = true;
_amountDone = 1;
}
protected function securityError(_arg1:IOErrorEvent):void{
logError(_arg1.text);
taskFinished();
}
protected function logError(_arg1:String):void{
trace(_arg1);
if (errorsAreFatal){
throw (new Error(("Load failed! " + _arg1)));
};
}
protected function loadFile():void{
if (info.isImage()){
loadImage(fullURL, info.callback);
} else {
if (info.isSound()){
loadSound(fullURL, info.callback);
} else {
if (info.isXML()){
loadXML(fullURL, info.callback);
} else {
if (info.isSWF()){
loadSWF(fullURL, info.callback);
} else {
throw (new Error(("Unreconized file type: " + info.url)));
};
};
};
};
}
protected function loadProgress(_arg1:ProgressEvent):void{
_amountDone = (Number(_arg1.bytesLoaded) / Math.max(_arg1.bytesTotal, 1));
if (((info.stream) && (!(_arg1.target.isBuffering)))){
trace("Buffering Complete", fullURL, _arg1.target.bytesLoaded, _arg1.target.bytesTotal);
info.callback(_arg1.target);
taskFinished();
};
}
protected function loadSound(_arg1:String, _arg2:Function):void{
var _local3:Sound = new Sound();
addListeners(_local3);
_local3.load(new URLRequest(_arg1), this.loader.soundLoaderContext);
}
protected function loadImage(_arg1:String, _arg2:Function):void{
var _local3:Loader = new Loader();
addListeners(_local3.contentLoaderInfo);
_local3.load(new URLRequest(_arg1), this.loader.loaderContext);
}
protected function loadOpen(_arg1:Event):void{
}
protected function loadXML(_arg1:String, _arg2:Function):void{
XML.ignoreWhitespace = true;
var _local3:URLLoader = new URLLoader();
addListeners(_local3);
_local3.load(new URLRequest(_arg1));
}
public function done():Boolean{
return (_done);
}
protected function addListeners(_arg1:IEventDispatcher):void{
loaderInfo = _arg1;
loaderInfo.addEventListener(Event.OPEN, loadOpen);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loaderInfo.addEventListener(Event.COMPLETE, loadCompleteCallback);
loaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
}
protected function get fullURL():String{
return ((root + info.url));
}
protected function loadCompleteCallback(_arg1:Event):void{
var _local2:*;
if ((_arg1.target is Sound)){
_local2 = _arg1.target;
} else {
if ((_arg1.target is URLLoader)){
_local2 = _arg1.target.data;
if (info.isXML()){
_local2 = XML(_local2);
};
} else {
_local2 = _arg1.target.content;
};
};
loadComplete(_local2);
taskFinished();
}
public function loadBytes(_arg1):void{
info.retries = 0;
var _local2:Loader = new Loader();
addListeners(_local2.contentLoaderInfo);
_local2.loadBytes(_arg1, this.loader.loaderContext);
}
protected function removeListeners():void{
loaderInfo.removeEventListener(Event.OPEN, loadOpen);
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress);
loaderInfo.removeEventListener(Event.COMPLETE, loadCompleteCallback);
loaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
loaderInfo = null;
}
protected function tryEmbeddedLoad():Boolean{
var _local1:* = ResourceEmbedding.getResource(loader, info.url);
if (_local1){
trace("Embedded", info.url);
info.callback(_local1);
return (true);
};
return (false);
}
public function load(_arg1:DataLoaderItem):void{
this.info = _arg1;
_done = false;
_amountDone = 0;
_arg1.retries = 3;
}
protected function loadError(_arg1:IOErrorEvent):void{
if (info.retries){
info.retries = (info.retries - 1);
retry();
} else {
logError(_arg1.text);
taskFinished();
};
}
protected function retry():void{
removeListeners();
trace("retry", info.url);
loadFile();
}
protected function taskFinished():void{
removeListeners();
_done = true;
_amountDone = 1;
}
public function amountDone():Number{
return (_amountDone);
}
protected function loadSWF(_arg1:String, _arg2:Function):void{
var _local3:Loader = new Loader();
addListeners(_local3.contentLoaderInfo);
_local3.load(new URLRequest(_arg1), this.loader.loaderContext);
}
public function loadComplete(_arg1):void{
trace("Complete", fullURL);
info.callback(_arg1);
}
}
}//package genius.resource
Section 720
//ILoaderListener (genius.resource.ILoaderListener)
package genius.resource {
public interface ILoaderListener {
function loadingProgress(_arg1:Number):void;
function loadingStarted():void;
function loadingCompleted():void;
}
}//package genius.resource
Section 721
//SoundChannel (genius.sound.SoundChannel)
package genius.sound {
import flash.events.*;
import flash.media.*;
public class SoundChannel {
protected var queue:Array;
public var name:String;
public var limit:int;
public function SoundChannel(_arg1:String, _arg2:int){
this.name = _arg1;
this.limit = _arg2;
queue = new Array();
}
protected function soundCompleteHandler(_arg1:Event):void{
var _local2:SoundChannel = (_arg1.target as SoundChannel);
_local2.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
var _local3:int = queue.indexOf(_local2);
if (_local3 >= 0){
queue.splice(_local3, 1);
};
}
public function addSound(_arg1:SoundChannel):void{
makeSpace();
_arg1.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
queue.push(_arg1);
}
public function makeSpace():void{
if (limit > 0){
while (queue.length >= limit) {
kill(queue.shift());
};
};
}
public function stop():void{
while (queue.length) {
kill(queue.shift());
};
}
protected function kill(_arg1:SoundChannel):void{
_arg1.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
_arg1.stop();
}
}
}//package genius.sound
Section 722
//SoundData (genius.sound.SoundData)
package genius.sound {
import flash.media.*;
public class SoundData {
public var stream:Boolean;
public var trim:Number;
public var data:Sound;
public var name:String;
public var url:String;
public function SoundData(){
trim = 1;
}
public function postload(_arg1:Engine):void{
_arg1.dataloader.load(url, soundLoaded, stream);
}
public function soundLoaded(_arg1:Sound):void{
data = _arg1;
}
}
}//package genius.sound
Section 723
//SoundManager (genius.sound.SoundManager)
package genius.sound {
import flash.geom.*;
import flash.media.*;
public class SoundManager {
protected var engine:Engine;
protected var channels:Object;
protected var globalVolume:Number;
protected var sfxMute:Boolean;// = false
public function SoundManager(_arg1:Engine){
this.engine = _arg1;
channels = {};
setVolume(1);
createChannel("default", -1);
createChannel("ghost", 2);
createChannel("coin", 2);
createChannel("door", 2);
createChannel("music", 1);
}
public function setSFXMute(_arg1:Boolean):void{
var _local2:SoundChannel;
if (sfxMute != _arg1){
sfxMute = _arg1;
if (sfxMute){
for each (_local2 in channels) {
if (_local2.name != "music"){
_local2.stop();
};
};
};
};
}
public function createChannel(_arg1:String, _arg2:int=-1):void{
channels[_arg1] = new SoundChannel(_arg1, _arg2);
}
public function playPositioned(_arg1:SoundData, _arg2:String, _arg3:Number, _arg4:Point):void{
play(_arg1, _arg2, _arg3, engine.rendering.panning(_arg4));
}
public function setVolume(_arg1:Number):void{
globalVolume = _arg1;
SoundMixer.soundTransform = new SoundTransform(_arg1, 0);
}
public function pauseMusic():void{
channels.music.stop();
}
public function playMusic(_arg1:SoundData):void{
resumeMusic(_arg1);
}
public function play(_arg1:SoundData, _arg2:String=null, _arg3:Number=1, _arg4:Number=0, _arg5:int=0, _arg6:int=0):SoundChannel{
var _local7:SoundChannel;
if (!((_arg2) && ((_arg2 in channels)))){
_arg2 = "default";
};
if (((sfxMute) && (!((_arg2 == "music"))))){
return (null);
};
if (((((_arg1.data) && (_arg3))) && (_arg1.trim))){
channels[_arg2].makeSpace();
if (_arg5 > (_arg1.data.length - 1)){
_arg5 = (_arg1.data.length - 1);
};
_local7 = _arg1.data.play(_arg5, _arg6, new SoundTransform((_arg3 * _arg1.trim), _arg4));
channels[_arg2].addSound(_local7);
return (_local7);
//unresolved jump
};
return (null);
}
public function resumeMusic(_arg1:SoundData):void{
play(_arg1, "music", 1, 0, 0, 2000000000);
}
}
}//package genius.sound
Section 724
//Encoder (genius.util.Encoder)
package genius.util {
public class Encoder {
private static const rl2n:Object = {:145, :250, :222, :30, :228, :213, :68, :169, :143, :154, :190, :252, :87, :15, :106, :101, £:148, $:67, §:204, (:81, «:211, ,:184, ¯:140, 0:62, ³:31, 4:75, ·:42, 8:34, »:231, <:163, ¿:115, @:103, Ã:142, D:2, Ç:181, H:77, Ë:82, L:25, Ï:28, P:157, Ó:151, T:29, ×:78, X:224, Û:39, \:179, ß:7, `:203, ã:249, d:21, ç:22, h:168, ë:54, l:217, ï:27, p:209, ó:195, t:76, ÷:193, x:198, û:79, |:95, ÿ:218, :144, :159, :210, :153, :214, :180, :70, :248, :183, :93, :185, :188, :13, :59, :73, :60, :120, #:26, ¤:241, ':227, ¨:176, +:128, ¬:61, /:57, °:20, 3:55, ´:51, 7:126, ¸:83, ;:18, ¼:10, ?:229, À:237, C:225, Ä:171, G:69, È:138, K:94, Ì:12, O:223, Ð:119, S:24, Ô:251, W:196, Ø:105, [:33, Ü:240, _:40, à:112, c:113, ä:216, g:215, è:177, k:226, ì:197, o:254, ð:85, s:89, ô:23, w:16, ø:98, {:132, ü:36, :50, :102, :152,
:208, :108, :90,
:88, :99, :187, :46, :111, :37, :221, :178, :43, :239, :234, ¡:64, ":230, ¥:243, &:253, ©:117, *:45, :158, .:189, ±:122, 2:118, µ:125, 6:96, ¹:127, ::207, ½:129, >:146, Á:130, B:136, Å:191, F:5, É:0, J:219, Í:172, N:245, Ñ:166, R:44, Õ:32, V:49, Ù:47, Z:150, Ý:71, ^:186, á:236, b:205, å:97, f:80, é:212, j:170, í:137, n:164, ñ:63, r:194, õ:242, v:48, ù:238, z:201, ý:123, ~:160, :162, :235, :139, :110, :247, :131,
:91, :58, :174, :19, :52, :104, :147, :244, :3, :202, !:167, ¢:92, %:233, ¦:14, ):192, ª:4, -:53, ®:135, 1:200, ²:149, 5:173, ¶:86, 9:11, º:161, =:109, ¾:199, A:175, Â:56, E:156, Æ:107, I:9, Ê:155, M:84, Î:66, Q:182, Ò:133, U:206, Ö:220, Y:165, Ú:1, ]:124, Þ:38, a:17, â:121, e:41, æ:246, i:116, ê:65, m:134, î:114, q:8, ò:141, u:35, ö:74, y:6, ú:100, }:232, þ:72};
private static const rn2l:String = ")´ä>h×ÏÂQSÓvöZº0yÅÕ4¢§#3ABÿ½ÛªÀ¿6:é+T,$¾¨7obdN óþ=¦~µtÃ}ò'ý¬îðÚåsñW¡?®%w^í¼·ãuÊcf{n»¹
û¥e]õF¶pOPzìCçËM*qÎÝ(©YÑôß²Ö£j`H
â<r1[mÇ@|L"³¤8êiÆæ¸ÔÉl±kKU;úëÈÁÞÍ a2DEG.ùR°Ü9x!ÙJ
&Iü¯\_VàÄï÷/èXÐgÒØÌø5-á«";
public static function reverse(_arg1:String):String{
return (scramble(_arg1, rl2n, rn2l));
}
private static function scramble(_arg1:String, _arg2:Object, _arg3:String):String{
var _local6:String;
var _local4 = "";
var _local5:int;
while (_local5 < _arg1.length) {
_local6 = _arg1.charAt(_local5);
if ((_local6 in _arg2)){
_local6 = _arg3.charAt(((_arg2[_local6] + _local5) % _arg3.length));
};
_local4 = (_local4 + _local6);
_local5++;
};
return (_local4);
}
}
}//package genius.util
Section 725
//GameTimer (genius.util.GameTimer)
package genius.util {
import flash.utils.*;
public class GameTimer {
public var elapsed:int;
public var ticks:uint;
public var tickTime:Number;
public var timeLimit:Number;
public var dt:Number;
protected var last:int;
protected var accum:Number;
public var tickRate:uint;
public var tickLimit:uint;
public function GameTimer(_arg1:uint, _arg2:uint=2, _arg3:Number=0.1){
setTickRate(_arg1);
this.tickLimit = _arg2;
this.timeLimit = _arg3;
reset();
}
public function newFrame():void{
var _local1:int = getTimer();
elapsed = (_local1 - last);
last = _local1;
dt = (elapsed / 1000);
accum = (accum + dt);
accum = Math.min(accum, timeLimit);
ticks = 0;
while ((((accum > tickTime)) && ((ticks <= tickLimit)))) {
accum = (accum - tickTime);
ticks = (ticks + 1);
};
}
public function reset():void{
last = getTimer();
accum = 0;
}
public function setTickRate(_arg1:uint):void{
this.tickRate = _arg1;
tickTime = (1 / _arg1);
}
}
}//package genius.util
Section 726
//LinkedList (genius.util.LinkedList)
package genius.util {
public class LinkedList {
public var next;
public var prev;
public function makeRoot():void{
prev = this;
next = this;
}
public function unlink():void{
if (prev != null){
prev.next = next;
next.prev = prev;
next = null;
prev = null;
};
}
public function insertBefore(_arg1:LinkedList):void{
unlink();
prev = _arg1.prev;
next = _arg1;
prev.next = this;
next.prev = this;
}
}
}//package genius.util
Section 727
//MathUtil (genius.util.MathUtil)
package genius.util {
import flash.geom.*;
public class MathUtil {
protected static const mipScale:Number = 0.721347520444482;
public static function blendPoints(_arg1:Point, _arg2:Point, _arg3:Number):Point{
return (new Point(((_arg1.x * (1 - _arg3)) + (_arg2.x * _arg3)), ((_arg1.y * (1 - _arg3)) + (_arg2.y * _arg3))));
}
public static function random(_arg1:int):int{
return (Math.floor((Math.random() * _arg1)));
}
public static function randomChoice(_arg1:Array){
return (_arg1[random(_arg1.length)]);
}
public static function fuzzyEQ(_arg1:Number, _arg2:Number, _arg3:Number=1E-6):Boolean{
return ((Math.abs((_arg1 - _arg2)) < (Math.max(Math.abs(_arg1), Math.abs(_arg2), 1) * _arg3)));
}
public static function matrixScale(_arg1:Matrix):Number{
return (Math.sqrt((matrixScaleSquared(_arg1) * 0.5)));
}
public static function wrap(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number = (_arg3 - _arg2);
if (_arg1 >= _arg3){
while (_arg1 >= _arg3) {
_arg1 = (_arg1 - _local4);
};
} else {
if (_arg1 < _arg2){
while (_arg1 < _arg2) {
_arg1 = (_arg1 + _local4);
};
};
};
return (_arg1);
}
public static function frame(_arg1:Number, _arg2:int):int{
return (clamp(Math.floor(_arg1), 0, (_arg2 - 1)));
}
public static function saturate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{
var _local6:Number;
var _local7:Number;
if (_arg1 < _arg3){
_local6 = (_arg3 - _arg1);
_local7 = (_local6 / (1 + _local6));
return ((_arg3 + (_local7 * (_arg2 - _arg3))));
};
if (_arg1 > _arg4){
_local6 = (_arg1 - _arg4);
_local7 = (_local6 / (1 + _local6));
return ((_arg4 + (_local7 * (_arg5 - _arg4))));
};
return (_arg1);
}
public static function randomAngle():Number{
return (_slot1.uniform(-(Math.PI), Math.PI));
}
public static function uniform(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + (Math.random() * (_arg2 - _arg1))));
}
public static function mipLevel(_arg1:Matrix):Number{
var _local2:Number = matrixScaleSquared(_arg1);
var _local3:Number = ((mipScale * Math.log(_local2)) - 0.5);
return (_local3);
}
public static function randrange(_arg1:int, _arg2:int):int{
return ((_arg1 + random(((_arg2 - _arg1) + 1))));
}
public static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (Math.min(Math.max(_arg1, _arg2), _arg3));
}
public static function randomDirection(_arg1:Number=1):Point{
var _local2:Number = randomAngle();
return (new Point((Math.cos(_local2) * _arg1), (Math.sin(_local2) * _arg1)));
}
public static function reflect(_arg1:Number, _arg2:Number, _arg3:Number):Number{
while (true) {
if (_arg1 > _arg3){
_arg1 = ((2 * _arg3) - _arg1);
} else {
if (_arg1 < _arg2){
_arg1 = ((2 * _arg2) - _arg1);
} else {
break;
};
};
};
return (_arg1);
}
public static function matrixScaleSquared(_arg1:Matrix):Number{
return (((((_arg1.a * _arg1.a) + (_arg1.b * _arg1.b)) + (_arg1.c * _arg1.c)) + (_arg1.d * _arg1.d)));
}
}
}//package genius.util
Section 728
//PerformanceMonitor (genius.util.PerformanceMonitor)
package genius.util {
import flash.display.*;
import flash.utils.*;
import flash.text.*;
import flash.system.*;
public class PerformanceMonitor extends Sprite {
protected var times:TextField;
protected var names:TextField;
protected var averageTime:Object;
protected var header:TextField;
protected var startTime:Object;
protected var windowStart:int;
protected var windowSize:int;// = 30
protected var fps:TextField;
protected var baseMemory:int;
protected var currentFrame:int;// = 0
protected var totalTime:Object;
public function PerformanceMonitor(){
startTime = new Object();
totalTime = new Object();
averageTime = new Object();
header = new TextField();
names = new TextField();
times = new TextField();
fps = new TextField();
super();
header.textColor = 13373747;
header.selectable = false;
header.mouseEnabled = false;
header.autoSize = TextFieldAutoSize.LEFT;
addChild(header);
names.textColor = 13373747;
names.selectable = false;
names.mouseEnabled = false;
names.autoSize = TextFieldAutoSize.LEFT;
addChild(names);
times.textColor = 13373747;
times.selectable = false;
times.mouseEnabled = false;
times.autoSize = TextFieldAutoSize.LEFT;
addChild(times);
fps.textColor = 13373747;
fps.selectable = false;
fps.mouseEnabled = false;
fps.autoSize = TextFieldAutoSize.LEFT;
addChild(fps);
setMemoryBaseline();
currentFrame = 0;
windowStart = getTimer();
this.mouseEnabled = false;
}
public function beginFrame():void{
var _local1:String;
for (_local1 in startTime) {
throw (new Error(("Did not end name: " + _local1)));
};
currentFrame = (currentFrame + 1);
if (currentFrame >= windowSize){
recalculate();
currentFrame = 0;
windowStart = getTimer();
};
}
public function setFont(_arg1:String, _arg2:Number):void{
var _local3:TextFormat = new TextFormat(_arg1, _arg2, 213979952, false, false, false);
header.defaultTextFormat = _local3;
names.defaultTextFormat = _local3;
times.defaultTextFormat = _local3;
fps.defaultTextFormat = _local3;
}
protected function recalculate():void{
var _local3:String;
var _local4:Number;
var _local1:Number = ((getTimer() - windowStart) / currentFrame);
var _local2:Number = (System.totalMemory - baseMemory);
header.text = (((1000 / _local1).toFixed(1) + " fps") + "\n");
header.appendText(((_local2 / (0x0400 * 0x0400)).toFixed(1) + " MB memory"));
names.text = "";
times.text = "";
fps.text = "";
for (_local3 in totalTime) {
_local4 = (totalTime[_local3] / currentFrame);
delete totalTime[_local3];
names.appendText((_local3 + "\n"));
times.appendText(((_local4.toFixed(1) + " ms") + "\n"));
fps.appendText((((1000 / _local4).toFixed(1) + " fps") + "\n"));
};
names.y = (header.height + 2);
times.y = (header.height + 2);
fps.y = (header.height + 2);
times.x = Math.max(((names.x + names.width) + 10), times.x);
fps.x = Math.max(((times.x + times.width) + 10), fps.x);
}
public function end(_arg1:String):void{
if (startTime[_arg1] == null){
throw (new Error(("Attempted to end a name without begining it: " + _arg1)));
};
if (totalTime[_arg1] == null){
totalTime[_arg1] = 0;
};
totalTime[_arg1] = (totalTime[_arg1] + (getTimer() - startTime[_arg1]));
delete startTime[_arg1];
}
public function setMemoryBaseline():void{
Engine.forceGC();
baseMemory = System.totalMemory;
}
public function begin(_arg1:String):void{
if (startTime[_arg1] != null){
throw (new Error(("Attempted to begin the same name twice: " + _arg1)));
};
startTime[_arg1] = getTimer();
}
}
}//package genius.util
Section 729
//URLLink (genius.util.URLLink)
package genius.util {
import flash.net.*;
import flash.external.*;
public class URLLink {
public static const SAFARI:String = "Safari";
public static const CHROME:String = "Chrome";
public static const MSIE:String = "MSIE";
public static const UNKNOWN:String = "Unknown";
public static const OPERA:String = "Opera";
public static const FIREFOX:String = "Firefox";
public static function open(_arg1:String, _arg2:String="_blank"):void{
var _local3:String = identifyBrowser();
trace("browser", _local3);
if ((((_local3 == FIREFOX)) || ((_local3 == MSIE)))){
if (!jsNavigate(_arg1, _arg2)){
builtinNavigate(_arg1, _arg2);
};
} else {
if (!builtinNavigate(_arg1, _arg2)){
jsNavigate(_arg1, _arg2);
};
};
}
protected static function builtinNavigate(_arg1:String, _arg2:String):Boolean{
var url = _arg1;
var window = _arg2;
try {
navigateToURL(new URLRequest(url), window);
} catch(e:SecurityError) {
trace("builtin security", url, e);
return (false);
} catch(e:Error) {
trace("builtin error", url, e);
return (false);
};
return (true);
}
protected static function jsNavigate(_arg1:String, _arg2:String):Boolean{
if (ExternalInterface.available){
ExternalInterface.call("window.open", _arg1, _arg2);
return (true);
};
return (false);
}
protected static function identifyBrowser():String{
var _local1:String;
if (ExternalInterface.available){
_local1 = ExternalInterface.call("function (){return navigator.userAgent;}");
};
if (_local1){
if (_local1.indexOf("Firefox") != -1){
return (FIREFOX);
};
if (_local1.indexOf("MSIE") != -1){
return (MSIE);
};
if (_local1.indexOf("Safari") != -1){
return (SAFARI);
};
if (_local1.indexOf("Opera") != -1){
return (OPERA);
};
if (_local1.indexOf("Chrome") != -1){
return (CHROME);
};
};
return (UNKNOWN);
}
}
}//package genius.util
Section 730
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}, progress_override:function (_arg1:Object):Number{
return (NaN);
}, bar_offset:0};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
var bar_w:Number = ((w - bar.x) - 10);
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(bar_w, 0);
backing.lineTo(bar_w, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(bar_w, 0);
inside.lineTo(bar_w, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(bar_w, 0);
outline.lineTo(bar_w, 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var progress:Number = Math.min(1, options.progress_override(clip));
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (!isNaN(progress)){
complete = (progress == 1);
} else {
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local12:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
var _local7:Number = Math.min(1, options.progress_override(_local1));
if (_local7 == 1){
complete = true;
};
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local8:Number = ((100 * _local6) / _local5);
if (!isNaN(_local7)){
_local8 = (100 * _local7);
};
var _local9:Number = ((100 * _local3) / chk.ad_msec);
var _local10:Object = this._mochiad_bar._inside;
var _local11:Number = Math.min(100, Math.min(((_local8) || (0)), _local9));
_local11 = Math.max(this.last_pcnt, _local11);
this.last_pcnt = _local11;
_local10.scaleX = (_local11 * 0.01);
options.ad_progress(_local11);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local8});
if (_local8 >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local12 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local12 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local8 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (unloaded){
MochiAd.unload(_local1);
} else {
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 731
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const LOGGED_IN:String = "LoggedIn";
public static const STORE_ITEMS:String = "StoreItems";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const ITEM_NEW:String = "ItemNew";
public static const USER_INFO:String = "UserInfo";
public static const IO_ERROR:String = "IOError";
public static const ITEM_OWNED:String = "ItemOwned";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const ERROR:String = "Error";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOW:String = "LoginShow";
public static const STORE_SHOW:String = "StoreShow";
public static const PROFILE_HIDE:String = "ProfileHide";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("coins_saveUserProperties", _arg1);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showLoginWidget", {options:_arg1});
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showStore(_arg1:Object=null):void{
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function getUserInfo():void{
MochiServices.send("coins_getUserInfo");
}
public static function hideLoginWidget():void{
MochiServices.send("coins_hideLoginWidget");
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
}
}//package mochi.as3
Section 732
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function get value():Number{
return (Number(this.toString()));
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package mochi.as3
Section 733
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
}
}//package mochi.as3
Section 734
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function endGame():void{
var _local1:Number = (new Date().time - gameStart);
trigger("end_game", {time:_local1});
}
public static function startGame():void{
gameStart = new Date().time;
trigger("start_game");
}
public static function trigger(_arg1:String, _arg2:Object=null):void{
if (_arg2 == null){
_arg2 = {};
} else {
if (_arg2["kind"] != undefined){
trace("WARNING: optional arguements package contains key 'id', it will be overwritten");
_arg2["kind"] = _arg1;
};
};
MochiServices.send("events_triggerEvent", {eventObject:_arg2}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startLevel():void{
levelStart = new Date().time;
trigger("start_level");
}
public static function endLevel():void{
var _local1:Number = (new Date().time - levelStart);
trigger("end_level", {time:_local1});
}
}
}//package mochi.as3
Section 735
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
if (options != null){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (_slot1.boardID != null){
options.boardID = _slot1.boardID;
};
};
MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiServices.warnID(_arg1, true);
_slot1.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi.as3
Section 736
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
public static var servicesSync:MochiSync = new MochiSync();
private static var _clip:MovieClip;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _loader:Loader;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _clip._callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _clip._callbacks[cb];
}
public static function get childClip():Object{
return (_clip);
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
var _local2:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.3 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_clip._queue))){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "sync":
servicesSync.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_clip._queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function loadLCBridge(_arg1:Object):void{
var loader:Loader;
var clip = _arg1;
loader = new Loader();
var mochiLCURL:String = (_servURL + _mochiLC);
var req:URLRequest = new URLRequest(mochiLCURL);
var complete:Function = function (_arg1:Object):void{
_mochiLocalConnection = MovieClip(loader.content);
listen();
};
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
loader.load(req);
clip.addChild(loader);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var _local3:String = ("_mochiservices_com_" + _arg1);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local4:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local4 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local4);
_clip = createEmptyMovieClip(_arg2, _local3, 10336, false);
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local5:URLRequest = new URLRequest(_local4);
var _local6:URLVariables = new URLVariables();
_local6.listenLC = _listenChannelName;
_local6.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local6.api_version = getVersion();
if (widget){
_local6.widget = true;
};
_local5.data = _local6;
_loader.load(_local5);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_clip._nextcallbackID = 0;
_clip._callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
var mc:MovieClip = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 737
//MochiSync (mochi.as3.MochiSync)
package mochi.as3 {
import flash.utils.*;
public dynamic class MochiSync extends Proxy {
private var _syncContainer:Object;
public static var SYNC_PROPERTY:String = "UpdateProperty";
public static var SYNC_REQUEST:String = "SyncRequest";
public function MochiSync():void{
_syncContainer = {};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
if (_syncContainer[_arg1] == _arg2){
return;
};
var _local3:String = _arg1.toString();
_syncContainer[_local3] = _arg2;
MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
return (_syncContainer[_arg1]);
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
switch (_arg1){
case SYNC_REQUEST:
MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY:
_syncContainer[_arg2.name] = _arg2.value;
break;
};
}
}
}//package mochi.as3
Section 738
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.4.0.9271";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 739
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.0.9271";
}
}//package mx.core
Section 740
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.4.0.9271";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 741
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.0.9271";
}
}//package mx.core
Section 742
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 743
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 744
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 745
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 746
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.0.9271";
}
}//package mx.core
Section 747
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.4.0.9271";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 748
//BaseGhost (scamper.actor.BaseGhost)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.resource.config.*;
import genius.util.*;
import genius.events.*;
import genius.component.shape.*;
import genius.graphics.colors.*;
import genius.graphics.renderable.*;
import scamper.component.*;
public class BaseGhost extends ScamperObject {
public var delay:Number;
protected var state:int;
protected var phase:Number;
protected static const ANGRY:int = 2;
protected static const IDLE:int = 1;
protected static const SPAWNING:int = 0;
protected static const defaultOffset:RGBAColor = new RGBAColor(0, 0, 0, 0);
protected static const defaultTint:RGBAColor = new RGBAColor(1, 1, 1, 1);
override public function isGhost():Boolean{
return (true);
}
public function randomizeSpawn(_arg1:Engine):void{
}
protected function scaredSprites(_arg1:Engine){
return (getComponent("animation", Object).scared);
}
public function harmedPlayer(_arg1:Engine, _arg2:Player):void{
if (_arg1.resources.gameplay.killGhostOnHit){
doDeath(_arg1, _arg1.resources.gameplay.clearRespawnDelay);
} else {
if (state == IDLE){
transition(_arg1, ANGRY);
};
};
}
protected function updateView(_arg1:Engine):void{
var _local2:*;
var _local9:Point;
var _local10:int;
var _local3:Player = (_arg1.managers.name.lookup("player") as Player);
var _local4:RGBAColor = defaultTint;
var _local5:RGBAColor = defaultOffset;
var _local6:RGBAColor = defaultTint;
var _local7:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
var _local8:SpriteRenderable = getComponent("aura", SpriteRenderable);
_local8.enabled = false;
if (state != ANGRY){
if (((_local3) && (_local3.isLethal()))){
_local2 = scaredSprites(_arg1);
if (_local3.blink()){
_local4 = _arg1.resources.gameplay.powerup.blinkTint;
_local5 = _arg1.resources.gameplay.powerup.blinkOffset;
_local6 = _arg1.resources.gameplay.powerup.auraTint;
};
_local8.enabled = _local7.enabled;
} else {
_local2 = normalSprites(_arg1);
};
_local9 = lookDirection(_arg1);
_local10 = _arg1.gameplay.directionFrame(_local9);
_local7.shader.texture = _local2.frame[_local10];
} else {
_local2 = angrySprites(_arg1);
_local7.shader.texture = _local2.frame[MathUtil.frame(phase, _local2.frame.length)];
};
_local7.shader.colorModulation = _local4;
_local7.shader.colorOffset = _local5;
_local8.shader.colorModulation = _local6;
}
public function makeActive(_arg1:Engine):void{
var _local2:AbstractShape = getComponent("shape", AbstractShape);
_local2.setEnabled(true);
var _local3:Body = getComponent("body", Body);
_local3.setKinematic(false);
var _local4:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local4.shader.layer = _arg1.resources.appearance.ghostPlayLayer;
var _local5:SpriteRenderable = getComponent("aura", SpriteRenderable);
_local5.shader.layer = (_arg1.resources.appearance.ghostPlayLayer + 1);
var _local6:Swarm = getComponent("swarm", Swarm);
if (_local6){
_local6.enabled = true;
};
transition(_arg1, IDLE);
}
protected function transition(_arg1:Engine, _arg2:int):void{
if (_arg2 != state){
onExit(_arg1);
state = _arg2;
phase = 0;
onEnter(_arg1);
};
}
protected function onExit(_arg1:Engine):void{
}
protected function lookDirection(_arg1:Engine):Point{
return (null);
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
updateView(_arg1);
state = IDLE;
phase = 0;
onEnter(_arg1);
}
protected function normalSprites(_arg1:Engine){
return (getComponent("animation", Object).normal);
}
public function prepareForActive(_arg1:Engine):void{
var _local2:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local2.enabled = true;
}
public function doDeath(_arg1:Engine, _arg2:Number):void{
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:Player;
var _local4:*;
if (state == ANGRY){
_local3 = (_arg1.managers.name.lookup("player") as Player);
if (((_local3) && (_local3.isLethal()))){
transition(_arg1, IDLE);
} else {
_local4 = angrySprites(_arg1);
phase = (phase + (_arg2 * _local4.fps));
if (phase >= _local4.frame.length){
transition(_arg1, IDLE);
};
};
};
updateView(_arg1);
}
override public function playerHit(_arg1:Engine, _arg2:Player):void{
var _local4:Placement;
var _local3:Player = (_arg2 as Player);
if (_local3.isAlive()){
if (((_local3) && (_local3.isLethal()))){
_local4 = getComponent("placement", Placement);
notifyEaten(_arg1, _local4.position);
doDeath(_arg1, _arg1.resources.gameplay.eatenRespawnDelay);
};
};
}
public function doorSpawn(_arg1:Engine, _arg2:Point):void{
dispatchEvent(SetPosition, _arg2.x, _arg2.y, 0);
var _local3:AbstractShape = getComponent("shape", AbstractShape);
_local3.setEnabled(false);
var _local4:Body = getComponent("body", Body);
_local4.setKinematic(true);
var _local5:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local5.shader.layer = _arg1.resources.appearance.ghostSpawnLayer;
_local5.enabled = false;
var _local6:SpriteRenderable = getComponent("aura", SpriteRenderable);
_local6.shader.layer = (_arg1.resources.appearance.ghostSpawnLayer + 1);
var _local7:Swarm = getComponent("swarm", Swarm);
if (_local7){
_local7.enabled = false;
};
transition(_arg1, SPAWNING);
}
protected function notifyEaten(_arg1:Engine, _arg2:Point):void{
}
protected function onEnter(_arg1:Engine):void{
}
protected function angrySprites(_arg1:Engine){
return (getComponent("animation", Object).angry);
}
}
}//package scamper.actor
Section 749
//BigGhost (scamper.actor.BigGhost)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.events.*;
import scamper.component.*;
public class BigGhost extends BaseGhost {
override protected function lookDirection(_arg1:Engine):Point{
var _local2:Placement = this.getComponent("placement", Placement);
return (_arg1.gameplay.playerOffset(_local2.position));
}
protected function controlVector(_arg1:Engine):Point{
var _local3:Body;
var _local4:Point;
var _local5:Swarm;
var _local2:Player = (_arg1.managers.name.lookup("player") as Player);
if (((_local2) && (_local2.isAlive()))){
_local3 = this.getComponent("body", Body);
_local4 = _arg1.gameplay.playerOffsetPredict(_local3, _arg1.resources.gameplay.bigGhost.playerPredictTime);
_local5 = getComponent("swarm", Swarm);
_local5.distance = _local4.length;
if (_local2.isLethal()){
_local4.normalize(_arg1.resources.gameplay.bigGhost.fleeForce);
} else {
_local4.normalize(_arg1.resources.gameplay.bigGhost.seekForce);
};
return (_local4);
//unresolved jump
};
return (new Point());
}
override protected function notifyEaten(_arg1:Engine, _arg2:Point):void{
_arg1.gameplay.eventBigGhostEaten(_arg2);
}
override public function doDeath(_arg1:Engine, _arg2:Number):void{
var _local3:Placement;
var _local4:GameObject;
if (state != SPAWNING){
_local3 = getComponent("placement", Placement);
_local4 = _arg1.createObject(_arg1.resources.worldResources.bigghosteaten);
SetPosition.dispatch(_local4, _local3.position.x, _local3.position.y, 0);
_arg1.gameplay.respawnGhost(this, _arg2);
};
}
override public function randomizeSpawn(_arg1:Engine):void{
var _local2:Point = _arg1.gameplay.randomEdgePosition(16);
SetPosition.dispatch(this, _local2.x, _local2.y, 0);
SetVelocity.dispatch(this, 0, 0, 0);
}
override public function tick(_arg1:Engine, _arg2:Number):void{
var _local3:Body = getComponent("body", Body);
_local3.applyForce(controlVector(_arg1), null, true);
_local3.angle = 0;
_local3.angularVelocity = 0;
}
}
}//package scamper.actor
Section 750
//Bouncer (scamper.actor.Bouncer)
package scamper.actor {
import genius.resource.config.*;
import genius.graphics.renderable.*;
public class Bouncer extends ScamperObject {
protected var phase:Number;
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local5:Number;
var _local6:Number;
var _local3:* = getComponent("bounceInfo", Object);
phase = ((phase + (_arg2 * _local3.speed)) % 1);
var _local4:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
if (_local4){
_local5 = ((phase - 0.5) * 2);
_local6 = (1 - (_local5 * _local5));
_local4.center.x = (_local6 * _local3.offset.x);
_local4.center.y = (_local6 * _local3.offset.y);
};
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
phase = 0;
}
}
}//package scamper.actor
Section 751
//Coin (scamper.actor.Coin)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.resource.config.*;
import genius.util.*;
import genius.events.*;
import genius.graphics.renderable.*;
public class Coin extends ScamperObject {
protected var phase:Number;
override public function isCoin():Boolean{
return (true);
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
updateView(_arg1);
phase = 0;
}
override public function playerHit(_arg1:Engine, _arg2:Player):void{
var _local5:GameObject;
var _local3:Placement = getComponent("placement", Placement);
var _local4:Point = _local3.position;
_arg1.gameplay.eventCoinCollected(_local4);
if (_arg1.resources.appearance.coin.showDeath){
_local5 = _arg1.createObject(_arg1.resources.worldResources.coinDeath);
SetPosition.dispatch(_local5, _local4.x, _local4.y, 0);
};
randomizeSpawn(_arg1);
}
public function randomizeSpawn(_arg1:Engine):void{
var _local3:GameObject;
var _local2:Point = _arg1.gameplay.coinPattern.nextCoinPosition();
SetPosition.dispatch(this, _local2.x, _local2.y, 0);
phase = MathUtil.uniform(0, 10);
if (_arg1.resources.appearance.coin.showSpawn){
_local3 = _arg1.createObject(_arg1.resources.worldResources.coinSpawn);
SetPosition.dispatch(_local3, _local2.x, _local2.y, 0);
};
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:* = _arg1.resources.animations.coinSpinSprites;
phase = MathUtil.wrap((phase + (_arg2 * _local3.fps)), 0, _local3.frame.length);
updateView(_arg1);
}
protected function updateView(_arg1:Engine):void{
var _local2:* = _arg1.resources.animations.coinSpinSprites;
var _local3:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local3.shader.texture = _local2.frame[MathUtil.frame(phase, _local2.frame.length)];
}
}
}//package scamper.actor
Section 752
//Cursor (scamper.actor.Cursor)
package scamper.actor {
import flash.geom.*;
import genius.actor.*;
import genius.events.*;
import genius.graphics.renderable.*;
import genius.gui.*;
public class Cursor extends GameObject {
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:Point = _arg1.mouseWorld;
SetPosition.dispatch(this, _local3.x, _local3.y, 0);
var _local4:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
var _local5:Cursor = getComponent("cursor", Cursor);
if (((((((((_arg1.gameplay.gameRunning) && ((_local3.x >= _arg1.resources.bounds.playAreaLeft)))) && ((_local3.x < _arg1.resources.bounds.playAreaRight)))) && ((_local3.y >= _arg1.resources.bounds.playAreaTop)))) && ((_local3.y < _arg1.resources.bounds.playAreaBottom)))){
_local5.show = false;
} else {
_local5.show = true;
};
}
}
}//package scamper.actor
Section 753
//GhostDoor (scamper.actor.GhostDoor)
package scamper.actor {
import genius.component.*;
import genius.resource.config.*;
import genius.graphics.*;
import genius.util.*;
import genius.graphics.renderable.*;
public class GhostDoor extends ScamperObject {
protected var releasing:Array;
protected var state:int;
protected var pending:Array;
protected var phase:Number;
protected static const IDLE:int = 0;
protected static const CLOSING:int = 3;
protected static const WARNING:int = 1;
protected static const OPENING:int = 2;
public function GhostDoor(){
pending = new Array();
releasing = new Array();
super();
}
public function addPending(_arg1:Engine, _arg2:BaseGhost, _arg3:Number):void{
var _local4:Placement = getComponent("placement", Placement);
_arg2.doorSpawn(_arg1, _local4.position);
_arg2.delay = _arg3;
pending.push(_arg2);
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
pending.length = 0;
state = IDLE;
phase = 0;
}
protected function needsRelease():Boolean{
return ((((pending.length > 0)) && ((pending[0].delay <= 0))));
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:Texture;
var _local4:*;
updateDelay(_arg1, _arg2);
switch (state){
case IDLE:
_local4 = _arg1.resources.animations.doorWarningSprites;
_local3 = _local4.frame[0];
if (needsRelease()){
transition(_arg1, WARNING);
};
break;
case WARNING:
_local4 = _arg1.resources.animations.doorWarningSprites;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, OPENING);
};
break;
case OPENING:
_local4 = _arg1.resources.animations.doorOpenSprites;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, CLOSING);
};
break;
case CLOSING:
_local4 = _arg1.resources.animations.doorCloseSprites;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
if (needsRelease()){
if (_arg1.resources.gameplay.skipWarningOnBacklog){
transition(_arg1, OPENING);
} else {
transition(_arg1, WARNING);
};
} else {
transition(_arg1, IDLE);
};
};
break;
};
var _local5:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local5.shader.texture = _local3;
}
protected function transition(_arg1:Engine, _arg2:int):void{
onExit(_arg1);
state = _arg2;
phase = 0;
onEnter(_arg1);
}
public function numPending():int{
return (pending.length);
}
protected function onEnter(_arg1:Engine):void{
var _local2:int;
var _local3:int;
var _local4:BaseGhost;
switch (state){
case OPENING:
if (!releasing.length){
_local2 = Math.ceil((Number(pending.length) / _arg1.resources.gameplay.multiSpawnThreshold));
trace("door release", _local2);
_local3 = 0;
while (_local3 < _local2) {
_local4 = pending.shift();
_local4.prepareForActive(_arg1);
releasing.push(_local4);
_local3++;
};
};
break;
};
}
protected function updateDelay(_arg1:Engine, _arg2:Number):void{
var _local3:BaseGhost;
for each (_local3 in pending) {
_local3.delay = (_local3.delay - _arg2);
};
pending.sortOn("delay");
}
protected function onExit(_arg1:Engine):void{
var _local2:BaseGhost;
switch (state){
case OPENING:
if (releasing.length){
for each (_local2 in releasing) {
_local2.makeActive(_arg1);
};
releasing.length = 0;
};
break;
case CLOSING:
break;
};
}
}
}//package scamper.actor
Section 754
//LittleGhost (scamper.actor.LittleGhost)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.resource.config.*;
import genius.util.*;
import genius.events.*;
public class LittleGhost extends BaseGhost {
protected var speed:Number;
protected var wait:Number;
protected var direction:Point;
override protected function lookDirection(_arg1:Engine):Point{
var _local2:Body = getComponent("body", Body);
return (_local2.linearVelocity);
}
protected function aim(_arg1:Engine):void{
var _local2:Placement = this.getComponent("placement", Placement);
var _local3:Point = _local2.position;
direction = _arg1.gameplay.playerOffset(_local3);
direction.normalize(speed);
SetVelocity.dispatch(this, direction.x, direction.y, 0);
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
randomizeSpawn(_arg1);
updateView(_arg1);
}
override public function doDeath(_arg1:Engine, _arg2:Number):void{
var _local3:Placement;
var _local4:GameObject;
if (state != SPAWNING){
_local3 = getComponent("placement", Placement);
_local4 = _arg1.createObject(_arg1.resources.worldResources.littleghosteaten);
SetPosition.dispatch(_local4, _local3.position.x, _local3.position.y, 0);
_arg1.gameplay.respawnGhost(this, _arg2);
};
}
override public function randomizeSpawn(_arg1:Engine):void{
speed = _arg1.resources.gameplay.littleGhostSpeed;
var _local2:Point = _arg1.gameplay.randomEdgePosition(10);
SetPosition.dispatch(this, _local2.x, _local2.y, 0);
aim(_arg1);
wait = MathUtil.uniform(5, 9);
}
override protected function notifyEaten(_arg1:Engine, _arg2:Point):void{
_arg1.gameplay.eventLittleGhostEaten(_arg2);
}
protected function maintainSpeed(_arg1:Engine, _arg2:Number):void{
var _local3:Body = getComponent("body", Body);
var _local4:Point = _local3.linearVelocity;
wait = (wait - _arg2);
if (wait <= 0){
_local4.x = (_local4.x + (MathUtil.uniform(-0.5, 0.5) * speed));
_local4.y = (_local4.y + (MathUtil.uniform(-0.5, 0.5) * speed));
wait = (wait + MathUtil.uniform(5, 9));
};
_local4.normalize(speed);
_local3.angle = 0;
SetVelocity.dispatch(this, _local4.x, _local4.y, 0);
}
override public function tick(_arg1:Engine, _arg2:Number):void{
var _local3:Placement = this.getComponent("placement", Placement);
var _local4:Point = _local3.position;
if (!_arg1.gameplay.isInsidePlayArea(_local4, 10)){
randomizeSpawn(_arg1);
};
maintainSpeed(_arg1, _arg2);
}
}
}//package scamper.actor
Section 755
//MessageDisplay (scamper.actor.MessageDisplay)
package scamper.actor {
import genius.resource.config.*;
import genius.graphics.colors.*;
import genius.graphics.renderable.*;
public class MessageDisplay extends ScamperObject {
protected var phase:Number;
protected var emphasis:Boolean;
override public function frame(_arg1:Engine, _arg2:Number):void{
if (emphasis){
emphasis = false;
} else {
phase = (phase + _arg2);
};
var _local3:RGBAColor = _arg1.resources.appearance.messageDisplay.color;
var _local4:Number = ((phase - _arg1.resources.appearance.messageDisplay.holdTime) / _arg1.resources.appearance.messageDisplay.fadeTime);
var _local5:TextRenderable = getComponent("mainSceneText", TextRenderable);
if (_local4 <= 0){
_local5.shader.colorModulation = _local3;
} else {
if (_local4 < 1){
_local5.shader.colorModulation = new RGBAColor(_local3.r, _local3.g, _local3.b, (1 - _local4));
} else {
_local5.enabled = false;
};
};
}
public function setMessage(_arg1:String):void{
var _local2:TextRenderable = getComponent("mainSceneText", TextRenderable);
_local2.text = _arg1;
_local2.enabled = true;
emphasis = true;
phase = 0;
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
emphasis = false;
phase = 100;
}
}
}//package scamper.actor
Section 756
//OneShotAnimation (scamper.actor.OneShotAnimation)
package scamper.actor {
import genius.actor.*;
import genius.resource.config.*;
import genius.util.*;
import genius.graphics.renderable.*;
public class OneShotAnimation extends GameObject {
protected var phase:Number;
protected var emphasis:Boolean;
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local5:int;
var _local7:Number;
var _local8:int;
var _local3:* = getComponent("animation", Object).animation;
var _local4:Boolean;
if (emphasis){
_local5 = 0;
emphasis = false;
} else {
_local7 = _local3.fps;
if (_local3.pingpong){
_local8 = ((_local3.frame.length * 2) - 1);
} else {
_local8 = _local3.frame.length;
};
if (_local3.repeat){
phase = MathUtil.wrap((phase + (_arg2 * _local7)), 0, _local8);
} else {
phase = MathUtil.clamp((phase + (_arg2 * _local7)), 0, _local8);
if (phase >= _local8){
_local4 = true;
};
};
if (_local3.pingpong){
_local5 = MathUtil.reflect(Math.floor(phase), 0, (_local3.frame.length - 1));
} else {
_local5 = MathUtil.clamp(Math.floor(phase), 0, (_local3.frame.length - 1));
};
};
var _local6:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local6.shader.texture = _local3.frame[_local5];
if (_local4){
die(_arg1);
};
}
override public function configure(_arg1:Engine, _arg2:EntityConfig):void{
super.configure(_arg1, _arg2);
phase = 0;
emphasis = true;
}
}
}//package scamper.actor
Section 757
//Player (scamper.actor.Player)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.resource.config.*;
import genius.graphics.*;
import genius.util.*;
import genius.events.*;
import genius.component.shape.*;
import genius.graphics.colors.*;
import genius.graphics.renderable.*;
public class Player extends ScamperObject {
protected var powerTimer:Number;
protected var forwardDir:Point;
protected var state:int;
protected var warningState:Boolean;
protected var last:Point;
protected var blinkState:Boolean;
protected var graceActive:Boolean;
protected var powered:Boolean;
protected var graceTimer:Number;
protected var phase:Number;
protected static const DEAD:int = 6;
protected static const EAT_BIG_GHOST:int = 5;
protected static const EAT_LITTLE_GHOST:int = 4;
protected static const HIT:int = 1;
protected static const IDLE:int = 0;
protected static const EAT_COIN:int = 2;
protected static const EAT_POWERUP:int = 3;
protected function shouldTrackMouse():Boolean{
return (isAlive());
}
override public function coinHit(_arg1:Engine, _arg2:Coin):void{
if (isAlive()){
transition(_arg1, EAT_COIN);
};
}
public function isAlive():Boolean{
return (!((state == DEAD)));
}
override public function ghostHit(_arg1:Engine, _arg2:BaseGhost):void{
var _local3:Placement;
var _local4:Boolean;
var _local5:Body;
if (isLethal()){
if ((_arg2 is LittleGhost)){
transition(_arg1, EAT_LITTLE_GHOST);
} else {
transition(_arg1, EAT_BIG_GHOST);
};
} else {
if (((!(grace())) && (isAlive()))){
_arg2.harmedPlayer(_arg1, this);
_local3 = getComponent("placement", Placement);
_local4 = _arg1.gameplay.eventPlayerHit(_local3.position);
if (!_local4){
transition(_arg1, DEAD);
_local5 = getComponent("body", Body);
_local5.setKinematic(true);
} else {
transition(_arg1, HIT);
};
};
};
}
protected function activateGrace(_arg1:Engine, _arg2:Number):void{
if (_arg2 > 0){
graceActive = true;
graceTimer = _arg2;
};
}
public function radius(_arg1:Engine):Number{
if (isLethal()){
return (_arg1.resources.gameplay.player.poweredRadius);
};
return (_arg1.resources.gameplay.player.radius);
}
override public function powerupHit(_arg1:Engine, _arg2:Powerup):void{
if (isAlive()){
setPowered(_arg1, true);
_arg1.sound.play(_arg1.resources.appearance.powerupSound);
transition(_arg1, EAT_POWERUP);
};
}
protected function updatePowerup(_arg1:Engine, _arg2:Number):void{
var _local3:Number;
var _local4:Number;
if (powered){
if (_arg1.resources.gameplay.powerup.affectedBySpeed){
powerTimer = (powerTimer + _arg2);
} else {
powerTimer = (powerTimer + _arg1.timer.tickTime);
};
_local3 = _arg1.resources.gameplay.powerup.duration;
_local4 = _arg1.resources.gameplay.powerup.warningTime;
if (powerTimer >= _local3){
_arg1.sound.play(_arg1.resources.appearance.powerupExpireSound);
setPowered(_arg1, false);
} else {
if (powerTimer >= (_local3 - _local4)){
blinkState = ((((powerTimer - (_local3 - _local4)) * _arg1.resources.gameplay.powerup.blinkCount) % 1) >= 0.5);
if (!warningState){
_arg1.gameplay.eventPowerupWarning();
};
warningState = true;
};
};
};
}
protected function onExit(_arg1:Engine):void{
}
protected function look(_arg1:Engine, _arg2:Point):Texture{
var _local3:*;
if (isLethal()){
_local3 = _arg1.resources.animations.playerPoweredSprites;
} else {
_local3 = _arg1.resources.animations.playerSprites;
};
return (_local3.frame[_arg1.gameplay.directionFrame(_arg2)]);
}
public function blink():Boolean{
return (blinkState);
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
forwardDir = new Point();
state = IDLE;
phase = 0;
blinkState = false;
warningState = false;
powered = false;
graceActive = false;
graceTimer = 0;
onEnter(_arg1);
}
protected function setPowered(_arg1:Engine, _arg2:Boolean):void{
powered = _arg2;
powerTimer = 0;
blinkState = false;
warningState = false;
var _local3:CircleShape = getComponent("shape", CircleShape);
_local3.setRadius(radius(_arg1));
if (_arg2){
_arg1.gameplay.eventPowerupBegin();
} else {
_arg1.gameplay.eventPowerupEnd();
};
activateGrace(_arg1, _arg1.resources.gameplay.player.powerupEndGraceTime);
transition(_arg1, IDLE);
}
protected function deactivateGrace(_arg1:Engine):void{
graceActive = false;
graceTimer = 0;
}
protected function updateGrace(_arg1:Engine, _arg2:Number):void{
graceTimer = (graceTimer - _arg2);
if (graceTimer < 0){
deactivateGrace(_arg1);
};
}
override public function isPlayer():Boolean{
return (true);
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:Texture;
var _local4:*;
var _local5:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_arg2 = _arg1.timer.dt;
switch (state){
case IDLE:
_local3 = look(_arg1, forwardDir);
break;
case HIT:
_local4 = _arg1.resources.animations.playerHit;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, IDLE);
};
break;
case EAT_COIN:
if (isLethal()){
_local4 = _arg1.resources.animations.playerPoweredCoinEat;
} else {
_local4 = _arg1.resources.animations.playerCoinPickup;
};
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, IDLE);
};
break;
case EAT_POWERUP:
_local4 = _arg1.resources.animations.playerPoweredPowerupEat;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, IDLE);
};
break;
case EAT_LITTLE_GHOST:
_local4 = _arg1.resources.animations.playerPoweredLittleGhostEat;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, IDLE);
};
break;
case EAT_BIG_GHOST:
_local4 = _arg1.resources.animations.playerPoweredBigGhostEat;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
transition(_arg1, IDLE);
};
break;
case DEAD:
_local4 = _arg1.resources.animations.playerDeath;
phase = (phase + (_arg2 * _local4.fps));
_local3 = _local4.frame[Math.floor(MathUtil.clamp(phase, 0, (_local4.frame.length - 1)))];
if (phase >= _local4.frame.length){
_arg1.gameplay.eventPlayerDead();
die(_arg1);
return;
};
break;
};
_local5.shader.texture = _local3;
var _local6:RGBAColor = new RGBAColor(1, 1, 1, 1);
var _local7:RGBAColor = new RGBAColor(0, 0, 0, 0);
if (isLethal()){
if (blink()){
_local6 = _arg1.resources.gameplay.powerup.blinkTint;
_local7 = _arg1.resources.gameplay.powerup.blinkOffset;
};
} else {
if (grace()){
_local6 = _arg1.resources.gameplay.player.graceTint;
_local7 = _arg1.resources.gameplay.player.graceOffset;
};
};
_local5.shader.colorModulation = _local6;
_local5.shader.colorOffset = _local7;
}
override public function tick(_arg1:Engine, _arg2:Number):void{
var _local4:Point;
updateGrace(_arg1, _arg2);
updatePowerup(_arg1, _arg2);
var _local3:Point = getComponent("placement", Placement).position;
if (shouldTrackMouse()){
_local4 = _arg1.mouseWorld;
} else {
_local4 = _local3;
};
var _local5:Point = _local4.clone();
_arg1.gameplay.constrainToPlayArea(_local5, radius(_arg1));
_local5 = MathUtil.blendPoints(_local5, _local3, 0.1);
SetPosition.dispatch(this, _local5.x, _local5.y, 0);
if (shouldTrackMouse()){
SetVelocity.dispatch(this, (_local5.x - _local3.x), (_local5.y - _local3.y), 0);
} else {
SetVelocity.dispatch(this, 0, 0, 0);
};
if (!last){
last = _local5;
};
last = MathUtil.blendPoints(last, _local5, 0.3);
forwardDir = _local5.subtract(last);
}
protected function transition(_arg1:Engine, _arg2:int):void{
if (state != _arg2){
onExit(_arg1);
state = _arg2;
phase = 0;
onEnter(_arg1);
};
}
public function grace():Boolean{
return (graceActive);
}
protected function onEnter(_arg1:Engine):void{
var _local2:SpriteRenderable;
var _local3:CircleShape;
switch (state){
case HIT:
activateGrace(_arg1, _arg1.resources.gameplay.player.playerHitGraceTime);
break;
case DEAD:
_local2 = getComponent("mainScene", SpriteRenderable);
_local2.shader.blendMode = "add";
_local3 = getComponent("shape", CircleShape);
_local3.setEnabled(false);
break;
};
}
public function isLethal():Boolean{
return (powered);
}
public function warning():Boolean{
return (warningState);
}
}
}//package scamper.actor
Section 758
//Powerup (scamper.actor.Powerup)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.resource.config.*;
import genius.util.*;
import genius.events.*;
import genius.graphics.renderable.*;
public class Powerup extends ScamperObject {
protected var phase:Number;
override public function playerHit(_arg1:Engine, _arg2:Player):void{
var _local5:GameObject;
var _local3:Placement = getComponent("placement", Placement);
var _local4:Point = _local3.position;
if (_arg1.resources.appearance.powerup.showDeath){
_local5 = _arg1.createObject(_arg1.resources.worldResources.powerupDeath);
SetPosition.dispatch(_local5, _local4.x, _local4.y, 0);
};
die(_arg1);
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
updateView(_arg1);
}
override public function isPowerup():Boolean{
return (true);
}
public function randomizeSpawn(_arg1:Engine):void{
var _local3:GameObject;
var _local2:Point = _arg1.gameplay.randomAreaPosition(8);
SetPosition.dispatch(this, _local2.x, _local2.y, 0);
phase = MathUtil.uniform(0, 10);
if (_arg1.resources.appearance.powerup.showSpawn){
_local3 = _arg1.createObject(_arg1.resources.worldResources.powerupSpawn);
SetPosition.dispatch(_local3, _local2.x, _local2.y, 0);
};
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local3:* = _arg1.resources.animations.powerupSprites;
phase = MathUtil.wrap((phase + (_arg2 * _local3.fps)), 0, _local3.frame.length);
updateView(_arg1);
}
protected function updateView(_arg1:Engine):void{
var _local2:* = _arg1.resources.animations.powerupSprites;
var _local3:SpriteRenderable = getComponent("mainScene", SpriteRenderable);
_local3.shader.texture = _local2.frame[MathUtil.frame(phase, _local2.frame.length)];
}
}
}//package scamper.actor
Section 759
//ScamperObject (scamper.actor.ScamperObject)
package scamper.actor {
import genius.actor.*;
import genius.physics.*;
public class ScamperObject extends GameObject {
public function coinHit(_arg1:Engine, _arg2:Coin):void{
}
public function isPlayer():Boolean{
return (false);
}
public function ghostHit(_arg1:Engine, _arg2:BaseGhost):void{
}
public function isGhost():Boolean{
return (false);
}
public function isPowerup():Boolean{
return (false);
}
public function playerHit(_arg1:Engine, _arg2:Player):void{
}
public function powerupHit(_arg1:Engine, _arg2:Powerup):void{
}
public function isCoin():Boolean{
return (false);
}
override public function collide(_arg1:Engine, _arg2:GameObject, _arg3:ContactInfo):void{
var _local4:ScamperObject = (_arg2 as ScamperObject);
if (_local4){
if (_local4.isGhost()){
ghostHit(_arg1, (_local4 as BaseGhost));
};
if (_local4.isPlayer()){
playerHit(_arg1, (_local4 as Player));
};
if (_local4.isCoin()){
coinHit(_arg1, (_local4 as Coin));
};
if (_local4.isPowerup()){
powerupHit(_arg1, (_local4 as Powerup));
};
};
}
}
}//package scamper.actor
Section 760
//SleeperGhost (scamper.actor.SleeperGhost)
package scamper.actor {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.events.*;
public class SleeperGhost extends BaseGhost {
protected var sphase:Number;
protected var svel:Number;
protected var sleepState:int;
protected static const AWAKE:int = 0;
protected static const SLEEP:int = 2;
protected static const DRIFT:int = 1;
override protected function lookDirection(_arg1:Engine):Point{
var _local2:Placement;
if (sleepState == AWAKE){
_local2 = this.getComponent("placement", Placement);
return (_arg1.gameplay.playerOffset(_local2.position));
};
return (new Point(0, 0));
}
protected function goToSleep():void{
sleepState = SLEEP;
sphase = 0;
var _local1:Body = getComponent("body", Body);
_local1.setKinematic(true);
SetVelocity.dispatch(this, 0, 0, 0);
}
protected function controlVector(_arg1:Engine):Point{
var _local2:Body;
var _local3:Player;
var _local4:Point;
if (sleepState == AWAKE){
_local3 = (_arg1.managers.name.lookup("player") as Player);
if (((_local3) && (_local3.isAlive()))){
_local2 = this.getComponent("body", Body);
_local4 = _arg1.gameplay.playerOffsetPredict(_local2, _arg1.resources.gameplay.sleeperGhost.playerPredictTime);
if (_local3.isLethal()){
_local4.normalize(_arg1.resources.gameplay.sleeperGhost.fleeForce);
} else {
_local4.normalize(_arg1.resources.gameplay.sleeperGhost.seekForce);
};
return (_local4);
} else {
return (new Point());
};
//unresolved jump
};
return (new Point());
}
override public function doDeath(_arg1:Engine, _arg2:Number):void{
var _local3:Placement;
var _local4:GameObject;
if (state != SPAWNING){
_local3 = getComponent("placement", Placement);
_local4 = _arg1.createObject(_arg1.resources.worldResources.sleeperghosteaten);
SetPosition.dispatch(_local4, _local3.position.x, _local3.position.y, 0);
_arg1.gameplay.respawnGhost(this, _arg2);
};
}
override public function randomizeSpawn(_arg1:Engine):void{
var _local2:Point = _arg1.gameplay.randomEdgePosition(16);
SetPosition.dispatch(this, _local2.x, _local2.y, 0);
SetVelocity.dispatch(this, 0, 0, 0);
wakeUp();
}
override public function makeActive(_arg1:Engine):void{
super.makeActive(_arg1);
wakeUp();
}
protected function startDrift():void{
sleepState = DRIFT;
sphase = 0;
var _local1:Body = getComponent("body", Body);
svel = _local1.linearVelocity.length;
}
override public function prepareForActive(_arg1:Engine):void{
super.prepareForActive(_arg1);
goToSleep();
}
override protected function notifyEaten(_arg1:Engine, _arg2:Point):void{
_arg1.gameplay.eventSleeperGhostEaten(_arg2);
}
override protected function onEnter(_arg1:Engine):void{
if (state == ANGRY){
wakeUp();
};
}
override public function tick(_arg1:Engine, _arg2:Number):void{
var _local4:Point;
var _local3:Body = getComponent("body", Body);
_local3.angle = 0;
_local3.angularVelocity = 0;
if (sleepState == AWAKE){
sphase = (sphase + _arg2);
if (sphase >= 2){
startDrift();
};
_local3.applyForce(controlVector(_arg1), null, true);
} else {
if (sleepState == DRIFT){
sphase = (sphase + _arg2);
if (sphase <= 1){
_local4 = _local3.linearVelocity.clone();
_local4.normalize((svel * (1 - (sphase / 1))));
SetVelocity.dispatch(this, _local4.x, _local4.y, 0);
} else {
goToSleep();
};
};
};
}
protected function wakeUp():void{
sleepState = AWAKE;
sphase = 0;
var _local1:Body = getComponent("body", Body);
_local1.setKinematic(false);
}
}
}//package scamper.actor
Section 761
//StateFX (scamper.actor.StateFX)
package scamper.actor {
import genius.resource.config.*;
import genius.graphics.colors.*;
import genius.graphics.renderable.*;
public class StateFX extends ScamperObject {
protected var logoBlend:Number;
protected var hitColor:RGBAColor;
protected var state:int;
protected var phase:Number;
protected var emphasis:Boolean;
protected static const HIT:int = 1;
protected static const POWERED:int = 2;
protected static const defaultColor:RGBAColor = new RGBAColor(0, 0, 0, 0);
protected static const IDLE:int = 0;
public function StateFX(){
hitColor = new RGBAColor(1, 0, 0, 0);
super();
}
public function eventPowerupBegin(_arg1:Engine):void{
transition(_arg1, POWERED);
}
public function eventPowerupEnd(_arg1:Engine):void{
transition(_arg1, IDLE);
}
override public function frame(_arg1:Engine, _arg2:Number):void{
var _local5:RGBAColor;
var _local6:Player;
var _local7:Number;
var _local8:RGBAColor;
updateLogo(_arg1, _arg2);
var _local3:SpriteRenderable = getComponent("leftOverlay", SpriteRenderable);
var _local4:SpriteRenderable = getComponent("rightOverlay", SpriteRenderable);
if (emphasis){
emphasis = false;
} else {
phase = (phase + _arg2);
};
switch (state){
case IDLE:
_local5 = defaultColor;
break;
case HIT:
if (phase > _arg1.resources.appearance.stateFX.hitHold){
_local7 = Math.min(((phase - _arg1.resources.appearance.stateFX.hitHold) / _arg1.resources.appearance.stateFX.hitFade), 1);
_local8 = _arg1.resources.appearance.stateFX.hitColor;
_local5 = hitColor;
_local5.r = _local8.r;
_local5.g = _local8.g;
_local5.b = _local8.b;
_local5.a = (_local8.a * (1 - _local7));
if (_local7 >= 1){
transition(_arg1, IDLE);
};
} else {
_local5 = _arg1.resources.appearance.stateFX.hitColor;
};
break;
case POWERED:
_local6 = (_arg1.managers.name.lookup("player") as Player);
if (((_local6) && (_local6.warning()))){
_local5 = _arg1.resources.appearance.stateFX.warningColor;
} else {
_local5 = _arg1.resources.appearance.stateFX.poweredColor;
};
break;
};
if (_local3){
_local3.shader.colorModulation = _local5;
};
if (_local4){
_local4.shader.colorModulation = _local5;
};
}
override protected function postConfigure(_arg1:Engine, _arg2:EntityConfig):void{
phase = 0;
state = IDLE;
onEnter(_arg1);
logoBlend = 0;
}
public function eventGhostSpawned(_arg1:Engine):void{
logoBlend = 1;
}
protected function updateLogo(_arg1:Engine, _arg2:Number):void{
var _local3:SpriteRenderable = getComponent("logo", SpriteRenderable);
if (_local3){
logoBlend = Math.max((logoBlend - (_arg2 / _arg1.resources.appearance.stateFX.logoFade)), 0);
if (logoBlend){
_local3.shader.colorTransform.alphaMultiplier = logoBlend;
_local3.enabled = true;
} else {
_local3.enabled = false;
};
};
}
protected function transition(_arg1:Engine, _arg2:int):void{
if (state != _arg2){
onExit(_arg1);
state = _arg2;
phase = 0;
emphasis = true;
onEnter(_arg1);
};
}
protected function onEnter(_arg1:Engine):void{
var _local2:SpriteRenderable = getComponent("leftOverlay", SpriteRenderable);
var _local3:SpriteRenderable = getComponent("rightOverlay", SpriteRenderable);
switch (state){
case IDLE:
if (_local2){
_local2.enabled = false;
};
if (_local3){
_local3.enabled = false;
};
break;
};
}
protected function onExit(_arg1:Engine):void{
var _local2:SpriteRenderable = getComponent("leftOverlay", SpriteRenderable);
var _local3:SpriteRenderable = getComponent("rightOverlay", SpriteRenderable);
switch (state){
case IDLE:
if (_local2){
_local2.enabled = true;
};
if (_local3){
_local3.enabled = true;
};
break;
};
}
public function eventPlayerHit(_arg1:Engine):void{
if (state != POWERED){
transition(_arg1, HIT);
};
}
}
}//package scamper.actor
Section 762
//ICoinPattern (scamper.coin.ICoinPattern)
package scamper.coin {
import flash.geom.*;
public interface ICoinPattern {
function nextCoinPosition():Point;
}
}//package scamper.coin
Section 763
//RandomCoinPattern (scamper.coin.RandomCoinPattern)
package scamper.coin {
import flash.geom.*;
public class RandomCoinPattern implements ICoinPattern {
protected var engine:Engine;
public function RandomCoinPattern(_arg1:Engine){
this.engine = _arg1;
}
public function nextCoinPosition():Point{
return (engine.gameplay.randomAreaPosition(8));
}
}
}//package scamper.coin
Section 764
//RandomPathCoinPattern (scamper.coin.RandomPathCoinPattern)
package scamper.coin {
import flash.geom.*;
import genius.util.*;
public class RandomPathCoinPattern implements ICoinPattern {
protected var engine:Engine;
protected var last:Point;
protected var delta:Point;
public function RandomPathCoinPattern(_arg1:Engine){
this.engine = _arg1;
last = new Point(0, 0);
delta = new Point();
}
public function nextCoinPosition():Point{
updateDelta(engine);
var _local1:Point = last.add(delta);
last.x = _local1.x;
last.y = _local1.y;
engine.gameplay.constrainToPlayArea(last, 8);
if ((((last.x < _local1.x)) && ((delta.x > 0)))){
delta.x = -(delta.x);
} else {
if ((((last.x > _local1.x)) && ((delta.x < 0)))){
delta.x = -(delta.x);
};
};
if ((((last.y < _local1.y)) && ((delta.y > 0)))){
delta.y = -(delta.y);
} else {
if ((((last.y > _local1.y)) && ((delta.y < 0)))){
delta.y = -(delta.y);
};
};
return (last);
}
protected function updateDelta(_arg1:Engine):void{
var _local2:Number = _arg1.resources.gameplay.coin.pathRandom;
var _local3:Number = MathUtil.uniform(_arg1.resources.gameplay.coin.pathStepMin, _arg1.resources.gameplay.coin.pathStepMax);
delta.x = (delta.x + MathUtil.uniform(-(_local2), _local2));
delta.y = (delta.y + MathUtil.uniform(-(_local2), _local2));
delta.normalize(_local3);
}
}
}//package scamper.coin
Section 765
//Swarm (scamper.component.Swarm)
package scamper.component {
import genius.component.*;
import flash.geom.*;
import genius.actor.*;
import genius.util.*;
public class Swarm extends LinkedList implements IComponent {
public var enabled:Boolean;
public var body:Body;
public var placement:Placement;
public var amt:Number;
public var owner:GameObject;
public var distance:Number;
public var control:Point;
public function Swarm(){
control = new Point();
super();
}
public function destroy(_arg1:Engine, _arg2:GameObject):void{
unlink();
}
public function configure(_arg1:Engine, _arg2:GameObject, _arg3):void{
var _local4:SwarmManager = _arg1.managers["swarm"];
insertBefore(_local4.root);
owner = _arg2;
amt = _arg3.amt;
distance = 10000;
enabled = true;
}
public function link(_arg1:Engine, _arg2:GameObject):void{
placement = _arg2.getComponent("placement", Placement);
body = _arg2.getComponent("body", Body);
}
}
}//package scamper.component
Section 766
//SwarmManager (scamper.component.SwarmManager)
package scamper.component {
import genius.component.*;
import flash.geom.*;
public class SwarmManager implements ComponentManager {
public var root:Swarm;
public function SwarmManager(){
root = new Swarm();
super();
root.makeRoot();
}
public function componentName():String{
return ("swarm");
}
public function update(_arg1:Engine, _arg2:Number):void{
var _local3:Swarm;
var _local6:int;
var _local8:Point;
var _local9:Swarm;
var _local10:Point;
var _local11:Point;
var _local12:Number;
if (!_arg1.resources){
return;
};
var _local4:Number = _arg1.resources.gameplay.swarm.predictTime;
var _local5:Swarm = root.next;
_local3 = root.next;
while (_local3 != root) {
if (_local3.enabled){
_local3.control.x = 0;
_local3.control.y = 0;
if (_local3.distance < _local5.distance){
_local5 = _local3;
};
_local6 = (_local6 + 1);
};
_local3 = _local3.next;
};
var _local7:Number = (_arg1.resources.gameplay.swarm.halflife / (_arg1.resources.gameplay.swarm.halflife + _local6));
_local3 = root.next;
while (_local3 != root) {
if (!_local3.enabled){
} else {
_local8 = _local3.body.predict(_local4);
_local9 = _local3.next;
while (_local9 != root) {
if (!_local9.enabled){
} else {
_local10 = _local9.body.predict(_local4);
_local11 = _local8.subtract(_local10);
_local12 = (1 / Math.max(0.25, ((_local11.x * _local11.x) + (_local11.y * _local11.y))));
_local11.x = (_local11.x * _local12);
_local11.y = (_local11.y * _local12);
_local3.control.x = (_local3.control.x + _local11.x);
_local3.control.y = (_local3.control.y + _local11.y);
_local9.control.x = (_local9.control.x - _local11.x);
_local9.control.y = (_local9.control.y - _local11.y);
};
_local9 = _local9.next;
};
_local3.control.x = (_local3.control.x * (_local3.amt * _local7));
_local3.control.y = (_local3.control.y * (_local3.amt * _local7));
if (_local3 != _local5){
_local3.body.applyForce(_local3.control, null, true);
};
};
_local3 = _local3.next;
};
}
}
}//package scamper.component
Section 767
//CreditsGamelet (scamper.gamelet.CreditsGamelet)
package scamper.gamelet {
import genius.game.*;
public class CreditsGamelet extends Gamelet {
public function mouseRelease(_arg1):void{
engine.managers.gui.cursorRelease(engine, engine.mouseWorld);
}
override public function activate():void{
engine.gameplay.gameRunning = false;
loadWorld();
}
override public function render():void{
engine.rendering.beginFrame();
engine.rendering.drawScene(engine.mainScene);
engine.rendering.endFrame();
engine.rendering.transferBackBuffer(graphics, game.screenWidth, game.screenHeight);
}
protected function loadWorld():void{
engine.clearWorld();
engine.loadWorld(engine.resources.menuBase);
engine.loadWorld(engine.resources.creditsMenu);
Engine.forceGC();
}
override public function frame(_arg1:Number):void{
}
public function mousePress(_arg1):void{
if (!engine.managers.gui.cursorPress(engine, engine.mouseWorld)){
};
}
}
}//package scamper.gamelet
Section 768
//InstructionsGamelet (scamper.gamelet.InstructionsGamelet)
package scamper.gamelet {
import genius.game.*;
public class InstructionsGamelet extends Gamelet {
public function mouseRelease(_arg1):void{
engine.managers.gui.cursorRelease(engine, engine.mouseWorld);
}
override public function activate():void{
engine.gameplay.gameRunning = false;
engine.rendering.clearColor = null;
engine.input.mouseVisible = false;
loadWorld();
}
protected function loadWorld():void{
engine.clearWorld();
engine.loadWorld(engine.resources.menuBase);
engine.loadWorld(engine.resources.instructions);
Engine.forceGC();
}
public function mousePress(_arg1):void{
engine.managers.gui.cursorPress(engine, engine.mouseWorld);
}
override public function render():void{
engine.rendering.beginFrame();
engine.rendering.drawScene(engine.mainScene);
engine.rendering.endFrame();
engine.rendering.transferBackBuffer(graphics, game.screenWidth, game.screenHeight);
}
}
}//package scamper.gamelet
Section 769
//MainGamelet (scamper.gamelet.MainGamelet)
package scamper.gamelet {
import genius.game.*;
import flash.geom.*;
import genius.graphics.*;
import flash.display.*;
import Box2D.Dynamics.*;
public class MainGamelet extends Gamelet {
protected var slowAmt:Number;// = 0
protected var debugPhysics:Boolean;// = false
protected var slowActive:Number;// = 0
protected var speedControlCapture:Boolean;
protected var debugSprite:Sprite;
protected var debugShader:VectorShader;
public function MainGamelet(){
debugSprite = new Sprite();
debugShader = new VectorShader();
super();
}
override public function activate():void{
engine.rendering.clearColor = null;
engine.gameplay.gameRunning = true;
loadLevel();
engine.input.mouseVisible = false;
speedControlCapture = false;
engine.gameplay.setMusic(engine.resources.music);
}
public function superSpeedStart(_arg1):void{
if (!engine.managers.gui.cursorPress(engine, engine.mouseWorld)){
if (!speedControlCapture){
engine.gameplay.speedControl.activate(engine);
speedControlCapture = true;
};
} else {
speedControlCapture = false;
};
}
override public function render():void{
engine.rendering.beginFrame();
engine.rendering.drawScene(engine.mainScene);
if (debugPhysics){
engine.rendering.draw(debugSprite, new Matrix(), debugShader);
};
engine.gameplay.speedControl.applyImageFilter(engine);
engine.rendering.endFrame();
engine.rendering.transferBackBuffer(graphics, game.screenWidth, game.screenHeight);
}
public function configure(_arg1):void{
var _local2:b2World;
var _local3:b2DebugDraw;
if (_arg1.showStats){
addChild(engine.monitor);
};
debugPhysics = _arg1.debugPhysics;
_local2 = engine.managers.body.world;
if (debugPhysics){
_local3 = new b2DebugDraw();
_local3.SetFlags((b2DebugDraw.e_shapeBit | b2DebugDraw.e_centerOfMassBit));
_local3.m_fillAlpha = 0.1;
_local3.m_lineThickness = 0.1;
_local3.m_sprite = debugSprite;
_local2.SetDebugDraw(_local3);
} else {
_local2.SetDebugDraw(null);
};
}
public function togglePause(_arg1):void{
engine.gameplay.gameRunning = !(engine.gameplay.gameRunning);
}
override public function frame(_arg1:Number):void{
}
public function superSpeedEnd(_arg1):void{
if (speedControlCapture){
engine.gameplay.speedControl.deactivate(engine);
speedControlCapture = false;
} else {
engine.managers.gui.cursorRelease(engine, engine.mouseWorld);
};
}
public function toggle(_arg1):void{
engine.rendering.useFastPath = !(engine.rendering.useFastPath);
trace("toggle", engine.rendering.useFastPath);
}
override public function tick(_arg1:Number):void{
timeScale = engine.gameplay.speedControl.timeScale;
}
public function loadLevel():void{
engine.gameplay.initWorld(engine.resources.defaultWorld);
Engine.forceGC();
}
}
}//package scamper.gamelet
Section 770
//MenuGamelet (scamper.gamelet.MenuGamelet)
package scamper.gamelet {
import genius.game.*;
public class MenuGamelet extends Gamelet {
protected var phase:Number;
public function mouseRelease(_arg1):void{
engine.managers.gui.cursorRelease(engine, engine.mouseWorld);
}
override public function render():void{
engine.rendering.beginFrame();
engine.rendering.drawScene(engine.mainScene);
engine.rendering.endFrame();
engine.rendering.transferBackBuffer(graphics, game.screenWidth, game.screenHeight);
}
override public function activate():void{
game.stage.frameRate = 60;
engine.gameplay.gameRunning = false;
engine.rendering.clearColor = null;
engine.input.mouseVisible = false;
phase = 0;
loadWorld();
engine.gameplay.setMusic(engine.resources.menuMusic);
}
protected function loadWorld():void{
engine.clearWorld();
engine.loadWorld(engine.resources.menuBase);
engine.loadWorld(engine.resources.menu);
if (engine.gameplay.showResults){
engine.loadWorld(engine.resources.menuResults);
engine.gameplay.registerStats();
engine.gameplay.initResults(engine.resources.appearance.results);
engine.gameplay.showScoresSubmit();
engine.gameplay.showResults = false;
} else {
engine.loadWorld(engine.resources.menuIcon);
};
Engine.forceGC();
}
override public function frame(_arg1:Number):void{
phase = (phase + _arg1);
}
public function mousePress(_arg1):void{
engine.managers.gui.cursorPress(engine, engine.mouseWorld);
}
}
}//package scamper.gamelet
Section 771
//ScoresGamelet (scamper.gamelet.ScoresGamelet)
package scamper.gamelet {
import genius.game.*;
import genius.actor.*;
import genius.graphics.renderable.*;
public class ScoresGamelet extends Gamelet {
protected var errorConnecting:Boolean;
protected function showGlobalScores():void{
if (engine.gameplay.showResults){
engine.gameplay.showResults = false;
engine.gameplay.showOnlineScoresSubmit(onDisplay, onClose, onError);
} else {
engine.gameplay.showOnlineScores(onDisplay, onClose, onError);
};
}
public function mouseRelease(_arg1):void{
engine.managers.gui.cursorRelease(engine, engine.mouseWorld);
}
protected function onDisplay():void{
}
protected function onError(_arg1:String):void{
trace("Error connecting to leaderboard", _arg1);
engine.loadWorld(engine.resources.scoresError);
errorConnecting = true;
}
protected function loadWorld():void{
engine.clearWorld();
engine.loadWorld(engine.resources.menuBase);
engine.loadWorld(engine.resources.scoresMenu);
initLocalScores();
showGlobalScores();
Engine.forceGC();
}
override public function frame(_arg1:Number):void{
}
protected function setText(_arg1:String, _arg2:String):void{
var _local4:TextRenderable;
var _local3:GameObject = engine.managers.name.lookup(_arg1);
if (_local3){
_local4 = _local3.getComponent("mainSceneText", TextRenderable);
if (_local4){
_local4.text = _arg2;
};
};
}
override public function activate():void{
engine.gameplay.gameRunning = false;
errorConnecting = false;
loadWorld();
}
override public function render():void{
engine.rendering.beginFrame();
engine.rendering.drawScene(engine.mainScene);
engine.rendering.endFrame();
engine.rendering.transferBackBuffer(graphics, game.screenWidth, game.screenHeight);
}
public function trigger(_arg1):void{
game.activateGamelet("menu");
}
protected function onClose():void{
game.activateGamelet("menu");
}
protected function initLocalScores():void{
var _local1:Object = engine.gameplay.makeScoreLUT();
setText("lastTime", _local1.time);
setText("bestTime", _local1.bestTime);
setText("lastCoins", _local1.coins);
setText("bestCoins", _local1.bestCoins);
setText("lastGhosts", _local1.ghostsEaten);
setText("bestGhosts", _local1.bestGhostsEaten);
setText("lastScore", _local1.score);
setText("bestScore", _local1.bestScore);
}
public function mousePress(_arg1):void{
if (!engine.managers.gui.cursorPress(engine, engine.mouseWorld)){
if (errorConnecting){
game.activateGamelet("menu");
};
};
}
}
}//package scamper.gamelet
Section 772
//SplashScreenGamelet (scamper.gamelet.SplashScreenGamelet)
package scamper.gamelet {
import genius.game.*;
import flash.events.*;
import genius.graphics.*;
import genius.graphics.colors.*;
public class SplashScreenGamelet extends Gamelet {
protected var swf:SWF;
protected var next:String;
protected var clickCallback:Function;
protected var frameRate:Number;
public function SplashScreenGamelet(_arg1:Number, _arg2:String){
this.frameRate = _arg1;
this.next = _arg2;
}
public function configure(_arg1:SWF, _arg2:Function):void{
this.swf = _arg1;
this.clickCallback = _arg2;
}
protected function advance():void{
swf.data.removeEventListener(Event.ENTER_FRAME, frameHandler);
swf.data.stop();
removeChild(swf.data);
game.activateGamelet(next);
}
public function mouseRelease(_arg1):void{
}
override public function activate():void{
game.stage.frameRate = frameRate;
engine.gameplay.gameRunning = false;
engine.rendering.clearColor = new RGBAColor(0, 0, 0, 1);
engine.input.mouseVisible = true;
addChild(swf.data);
swf.data.gotoAndPlay(0);
swf.data.addEventListener(Event.ENTER_FRAME, frameHandler);
}
protected function frameHandler(_arg1:Event):void{
if (swf.data.currentFrame >= swf.data.totalFrames){
advance();
};
}
public function mousePress(_arg1):void{
clickCallback(null);
}
}
}//package scamper.gamelet
Section 773
//PowerupManager (scamper.PowerupManager)
package scamper {
import genius.component.*;
import scamper.actor.*;
import genius.util.*;
public class PowerupManager {
protected var powerupChain:int;
protected var powerupActive:Boolean;
protected var powerupClear:Boolean;
protected var powerupSpawned:Boolean;
protected var powerupRespawnTimer:Number;
public function eventPowerupBegin(_arg1:Engine):void{
powerupChain = 0;
powerupClear = false;
_arg1.gameplay.message(_arg1.resources.appearance.messages.powerupBegin);
var _local2:StateFX = (_arg1.managers.name.lookup("stateFX") as StateFX);
if (_local2){
_local2.eventPowerupBegin(_arg1);
};
}
public function tick(_arg1:Engine, _arg2:Number):void{
var _local3:Powerup;
var _local4:Placement;
if (((!(powerupSpawned)) && (_arg1.resources.gameplay.powerup.enabled))){
powerupRespawnTimer = (powerupRespawnTimer - _arg2);
if (powerupRespawnTimer <= 0){
_local3 = (_arg1.createObject(_arg1.resources.worldResources.powerup) as Powerup);
_local3.randomizeSpawn(_arg1);
powerupSpawned = true;
_local4 = _local3.getComponent("placement", Placement);
_arg1.sound.playPositioned(_arg1.resources.appearance.powerupSpawnSound, null, 1, _local4.position);
};
};
}
public function eventBoardClear(_arg1:Engine):void{
_arg1.gameplay.message(_arg1.resources.appearance.messages.boardClear);
_arg1.gameplay.addScore(_arg1.resources.gameplay.score.boardClear);
_arg1.sound.play(_arg1.resources.appearance.boardClearSound);
}
protected function randomizeRespawnTimer(_arg1:Engine):void{
powerupRespawnTimer = MathUtil.uniform(_arg1.resources.gameplay.powerup.waitMin, _arg1.resources.gameplay.powerup.waitMax);
powerupSpawned = false;
}
public function reset(_arg1:Engine):void{
powerupRespawnTimer = MathUtil.uniform(_arg1.resources.gameplay.powerup.initialWaitMin, _arg1.resources.gameplay.powerup.initialWaitMax);
powerupSpawned = false;
powerupActive = false;
powerupChain = 0;
powerupClear = false;
}
public function incrementPowerupChain(_arg1:Engine):void{
powerupChain = (powerupChain + 1);
if (powerupChain >= 2){
_arg1.gameplay.message(_arg1.interpolate(_arg1.resources.appearance.messages.ghostEaten, {chain:powerupChain}));
_arg1.gameplay.addScore((_arg1.resources.gameplay.score.chainConstant + (_arg1.resources.gameplay.score.chainScale * powerupChain)));
};
if (((!(powerupClear)) && (_arg1.gameplay.boardIsClear()))){
eventBoardClear(_arg1);
};
}
public function eventPowerupEnd(_arg1:Engine):void{
powerupChain = 0;
powerupClear = false;
_arg1.gameplay.message(_arg1.resources.appearance.messages.powerupEnd);
var _local2:StateFX = (_arg1.managers.name.lookup("stateFX") as StateFX);
if (_local2){
_local2.eventPowerupEnd(_arg1);
};
randomizeRespawnTimer(_arg1);
}
public function eventPowerupWarning(_arg1:Engine):void{
powerupChain = 0;
powerupClear = false;
_arg1.gameplay.message(_arg1.resources.appearance.messages.powerupWarning);
}
}
}//package scamper
Section 774
//SpeedControl (scamper.SpeedControl)
package scamper {
import flash.geom.*;
import genius.util.*;
import genius.graphics.colors.*;
import flash.filters.*;
public class SpeedControl {
protected var slowAmt:Number;
public var juice:Number;
public var slowActive:Boolean;
protected var _colorTransform:ColorTransform;
public var requestActive:Boolean;
public var timeScale:Number;
public function SpeedControl(_arg1:Engine){
_colorTransform = new ColorTransform();
super();
reset(_arg1);
}
public function colorTransform(_arg1:Engine):ColorTransform{
var _local2:RGBAColor = _arg1.resources.appearance.speedEffect.tint;
var _local3:RGBAColor = _arg1.resources.appearance.speedEffect.offset;
var _local4:Number = (slowAmt * _arg1.resources.appearance.speedEffect.amount);
_colorTransform.redMultiplier = ((_local2.r * _local4) + (1 - _local4));
_colorTransform.greenMultiplier = ((_local2.g * _local4) + (1 - _local4));
_colorTransform.blueMultiplier = ((_local2.b * _local4) + (1 - _local4));
_colorTransform.alphaMultiplier = 1;
_colorTransform.redOffset = ((_local3.r * 0xFF) * _local4);
_colorTransform.greenOffset = ((_local3.g * 0xFF) * _local4);
_colorTransform.blueOffset = ((_local3.b * 0xFF) * _local4);
_colorTransform.alphaOffset = 0;
return (_colorTransform);
}
public function activate(_arg1:Engine):Boolean{
requestActive = true;
slowActive = ((canUse(_arg1)) && (useJuice(_arg1, _arg1.resources.gameplay.speed.costActivate)));
_arg1.gameplay.syncSpeedMeter();
if (slowActive){
_arg1.sound.play(_arg1.resources.appearance.speedEffect.enterSound);
} else {
_arg1.sound.play(_arg1.resources.appearance.speedEffect.deniedSound);
};
return (slowActive);
}
public function reset(_arg1:Engine):void{
slowAmt = 0;
timeScale = 1;
slowActive = false;
requestActive = false;
juice = (maximum(_arg1) * 0.66);
}
public function canUse(_arg1:Engine):Boolean{
if (!_arg1.resources.gameplay.speed.enabled){
return (false);
};
if (((_arg1.resources.gameplay.speed.mustBeFullToStart) && ((juice < _arg1.resources.gameplay.speed.maximum)))){
return (false);
};
return ((juice > _arg1.resources.gameplay.speed.costActivate));
}
protected function useJuice(_arg1:Engine, _arg2:Number):Boolean{
if (!canSustain(_arg1)){
return (false);
};
if (_arg2 >= 0){
setJuice(_arg1, (juice - _arg2));
};
return (true);
}
public function tick(_arg1:Engine, _arg2:Number):void{
if (!_arg1.resources){
return;
};
var _local3:Number = _arg1.timer.tickTime;
if (slowActive){
if (!useJuice(_arg1, (_local3 * _arg1.resources.gameplay.speed.costScale))){
turnOff(_arg1);
};
slowAmt = MathUtil.clamp((slowAmt + (_local3 * _arg1.resources.gameplay.speed.activateSpeed)), 0, 1);
} else {
slowAmt = MathUtil.clamp((slowAmt - (_local3 * _arg1.resources.gameplay.speed.deactivateSpeed)), 0, 1);
};
timeScale = ((1 * (1 - slowAmt)) + (_arg1.resources.gameplay.speed.timeWarp * slowAmt));
}
public function setJuice(_arg1:Engine, _arg2:Number):void{
juice = MathUtil.clamp(_arg2, 0, maximum(_arg1));
_arg1.gameplay.syncSpeedMeter();
}
public function applyImageFilter(_arg1:Engine):void{
if (slowAmt > 0){
_arg1.rendering.tint(colorTransform(_arg1));
};
}
public function maximum(_arg1:Engine):Number{
return ((_arg1.resources.gameplay.speed.maximum + _arg1.resources.gameplay.speed.costActivate));
}
protected function turnOff(_arg1:Engine):void{
if (slowActive){
_arg1.sound.play(_arg1.resources.appearance.speedEffect.exitSound);
};
slowActive = false;
_arg1.gameplay.syncSpeedMeter();
}
public function imageFilter(_arg1:Engine):BitmapFilter{
var _local2:Number = _arg1.resources.appearance.speedEffect.desaturate;
var _local3:RGBAColor = _arg1.resources.appearance.speedEffect.tint;
var _local4:RGBAColor = _arg1.resources.appearance.speedEffect.offset;
var _local5:Array = [((1 - (_local2 * (1 - 0.299))) * _local3.r), ((_local2 * 0.587) * _local3.r), ((_local2 * 0.114) * _local3.r), 0, (_local4.r * 0xFF), ((_local2 * 0.299) * _local3.g), ((1 - (_local2 * (1 - 0.587))) * _local3.g), ((_local2 * 0.114) * _local3.g), 0, (_local4.g * 0xFF), ((_local2 * 0.299) * _local3.b), ((_local2 * 0.587) * _local3.b), ((1 - (_local2 * (1 - 0.114))) * _local3.b), 0, (_local4.b * 0xFF), 0, 0, 0, 1, 0];
var _local6:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var _local7:Array = new Array(20);
var _local8:Number = (slowAmt * _arg1.resources.appearance.speedEffect.amount);
var _local9:int;
while (_local9 < 20) {
_local7[_local9] = ((_local5[_local9] * _local8) + (_local6[_local9] * (1 - _local8)));
_local9++;
};
return (new ColorMatrixFilter(_local7));
}
public function deactivate(_arg1:Engine):void{
requestActive = false;
if (!_arg1.resources.gameplay.speed.runUntilEmpty){
turnOff(_arg1);
};
_arg1.gameplay.syncSpeedMeter();
}
public function canSustain(_arg1:Engine):Boolean{
if (!_arg1.resources.gameplay.speed.enabled){
return (false);
};
return ((juice > 0));
}
public function addJuice(_arg1:Engine, _arg2:Number):void{
if (((!(slowActive)) || (_arg1.resources.gameplay.speed.canIncreaseDuringUse))){
setJuice(_arg1, (juice + _arg2));
};
}
}
}//package scamper
Section 775
//Engine (Engine)
package {
import genius.game.*;
import genius.resource.*;
import genius.component.*;
import flash.geom.*;
import genius.sound.*;
import genius.actor.*;
import genius.resource.config.*;
import Box2D.Collision.Shapes.*;
import Box2D.Collision.*;
import Box2D.Common.Math.*;
import genius.graphics.*;
import Box2D.Dynamics.*;
import genius.util.*;
import genius.events.*;
import flash.text.*;
import flash.system.*;
public class Engine {
public var timer:GameTimer;
public var rendering:RenderingEngine;
public var sound:SoundManager;
public var gom:GameObjectManager;
public var input:Input;
public var monitor:PerformanceMonitor;
public var configparser:ConfigParser;
public var mainScene:Scene2D;
public var resources:Package;
public var managers:Object;
public var errors:TextField;
public var gameplay;
public var game:Game;
public var dataloader:DataLoader;
public function Engine(_arg1:Game, _arg2:int, _arg3:int){
this.game = _arg1;
rendering = new RenderingEngine(_arg2, _arg3);
rendering.engine = this;
timer = new GameTimer(30);
configparser = new ConfigParser(this);
dataloader = new DataLoader(_arg1.rootDirectory);
gom = new GameObjectManager(this);
sound = new SoundManager(this);
mainScene = new Scene2D();
managers = new Object();
monitor = new PerformanceMonitor();
monitor.x = 5;
monitor.y = 5;
}
public function get mouseWorld():Point{
return (rendering.sceneView.viewportToScene.transformPoint(input.mousePosition));
}
public function emitSound(_arg1:SoundData, _arg2:Point):void{
sound.playPositioned(_arg1, null, 0.5, _arg2);
}
public function onAttach():void{
input = new Input(game);
}
public function interpolate(_arg1:String, _arg2:Object):String{
var replacer:Function;
var s = _arg1;
var lut = _arg2;
replacer = function ():String{
if ((arguments[1] in lut)){
return (lut[arguments[1]]);
};
return ("???");
};
if (!s){
return ("");
};
var matcher:RegExp = /{([\w_][\w\d_]*)}/g;
return (s.replace(matcher, replacer));
}
public function getObjectAtMouse(_arg1:Function):GameObject{
var mousePVec:b2Vec2;
var mouseFilter:Function;
var filter = _arg1;
mouseFilter = function (_arg1:b2Shape):Boolean{
var _local2:b2Body = _arg1.GetBody();
return (((_arg1.TestPoint(_local2.GetXForm(), mousePVec)) && (filter(_arg1.GetUserData().owner))));
};
var mouseWorld:Point = mouseWorld;
mousePVec = new b2Vec2(mouseWorld.x, mouseWorld.y);
var results:Array = queryAABB((mouseWorld.x - 0.001), (mouseWorld.x + 0.001), (mouseWorld.y - 0.001), (mouseWorld.y + 0.001), mouseFilter);
if (results.length){
return (results[0]);
};
return (null);
}
public function clearWorld():void{
gom.clear();
}
public function queryAABB(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Function=null):Array{
var _local12:b2Shape;
var _local13:GameObject;
var _local6:b2AABB = new b2AABB();
_local6.lowerBound.Set(_arg1, _arg3);
_local6.upperBound.Set(_arg2, _arg4);
var _local7:Array = new Array();
var _local8:int = managers.body.world.Query(_local6, _local7, 100);
var _local9:Array = new Array();
var _local10:b2Body;
var _local11:int;
while (_local11 < _local8) {
_local12 = (_local7[_local11] as b2Shape);
if ((((_arg5 == null)) || (_arg5(_local12)))){
_local13 = _local12.GetUserData().owner;
if (!_local13.dead){
_local9.push(_local13);
};
};
_local11++;
};
return (_local9);
}
public function raycast(_arg1:Point, _arg2:Point):Object{
var _local8:GameObject;
var _local9:Number;
var _local10:Number;
var _local11:Point;
var _local3:Point = _arg1.add(_arg2);
var _local4:b2Segment = new b2Segment();
_local4.p1.SetV(new b2Vec2(_arg1.x, _arg1.y));
_local4.p2.SetV(new b2Vec2(_local3.x, _local3.y));
_local4.ExtendForward(managers.body.worldAABB);
var _local5:Array = [1];
var _local6:b2Vec2 = new b2Vec2();
var _local7:b2Shape = RaycastOne(_local4, _local5, _local6, false, null);
if (_local7){
_local8 = _local7.GetUserData().owner;
_local9 = (((1 - _local5[0]) * _local4.p1.x) + (_local5[0] * _local4.p2.x));
_local10 = (((1 - _local5[0]) * _local4.p1.y) + (_local5[0] * _local4.p2.y));
_local11 = new Point(_local9, _local10);
return ({object:_local8, position:_local11});
};
return (null);
}
public function createObject(_arg1:EntityConfig):GameObject{
var _local2:* = new _arg1.nativeType();
_local2.configure(this, _arg1);
gom.addObject(_local2);
return (_local2);
}
public function addManager(_arg1:ComponentManager):void{
var _local2:String = _arg1.componentName();
if ((_local2 in managers)){
throw (Error(("Attemped to add multiple managers with the same name: " + _local2)));
};
managers[_local2] = _arg1;
}
public function explode(_arg1:Point, _arg2:Number, _arg3:Boolean, _arg4:Boolean):void{
var explodeFilter:Function;
var go:GameObject;
var b:Body;
var force:Point;
var len:Number;
var scale:Number;
var strengthAtPoint:Number;
var p = _arg1;
var strength = _arg2;
var gravity = _arg3;
var impulse = _arg4;
explodeFilter = function (_arg1:b2Shape):Boolean{
return (!(((_arg1.GetFilterData().categoryBits & resources.collision.shot.mask) == 0)));
};
var radius:Number = 15;
var results:Array = queryAABB((p.x - radius), (p.x + radius), (p.y - radius), (p.y + radius), explodeFilter);
for each (go in results) {
b = go.getComponent("body", Body);
if (b == null){
} else {
force = b.position;
force = force.subtract(p);
len = force.length;
if (len <= radius){
scale = Math.max(len, 1);
strengthAtPoint = (strength / (scale * scale));
force.normalize(1);
force.x = (force.x * strengthAtPoint);
force.y = (force.y * strengthAtPoint);
if (impulse){
b.applyImpulse(force, null, gravity);
} else {
b.applyForce(force, null, gravity);
};
};
};
};
}
public function loadWorld(_arg1):void{
var _local2:*;
managers.body.gravity = _arg1.gravity;
for each (_local2 in _arg1.entity) {
createObject(_local2);
};
}
public function logError(_arg1:String):void{
if (!errors.visible){
errors.visible = true;
};
errors.appendText((_arg1 + "\n"));
}
public function RaycastOne(_arg1:b2Segment, _arg2:Array, _arg3:b2Vec2, _arg4:Boolean, _arg5):b2Shape{
var _local8:Number;
var _local9:b2Shape;
var _local10:b2Vec2;
var _local14:int;
var _local6:Array = new Array(1);
var _local7:Number = managers.body.world.Raycast(_arg1, _local6, 100, _arg4, _arg5);
if (_local7 == 0){
return (null);
};
var _local11:b2Shape = _local6[_local14];
var _local12:b2XForm = _local11.GetBody().GetXForm();
_local11.TestSegment(_local12, _arg2, _arg3, _arg1, 1);
_local8 = _arg2[0];
_local9 = _local11;
_local10 = _arg3;
var _local13:int = resources.collision.shot.mask;
_local14 = 0;
while (_local14 < _local7) {
_local11 = _local6[_local14];
if (_local11.GetUserData().owner.dead){
} else {
if ((_local11.GetFilterData().categoryBits & _local13)){
_local12 = _local11.GetBody().GetXForm();
_local11.TestSegment(_local12, _arg2, _arg3, _arg1, 1);
if (_arg2[0] < _local8){
_local8 = _arg2[0];
_local9 = _local11;
_local10 = _arg3;
};
};
};
_local14++;
};
_arg2[0] = _local8;
_arg3.x = _local10.x;
_arg3.y = _local10.y;
return (_local9);
}
public static function forceGC():void{
System.gc();
}
}
}//package
Section 776
//MaxGamesLinkButton (MaxGamesLinkButton)
package {
import flash.display.*;
import flash.events.*;
import genius.util.*;
public class MaxGamesLinkButton extends Sprite {
protected var defaultImage:Class;
protected var url:String;// = "http://www.maxgames.com"
protected var mouseImage:Class;
protected var pressedInstance:Bitmap;
protected var pressedImage:Class;
protected var mouseInstance:Bitmap;
protected var defaultInstance:Bitmap;
public function MaxGamesLinkButton(){
defaultImage = MaxGamesLinkButton_defaultImage;
mouseImage = MaxGamesLinkButton_mouseImage;
pressedImage = MaxGamesLinkButton_pressedImage;
super();
defaultInstance = new defaultImage();
mouseInstance = new mouseImage();
pressedInstance = new pressedImage();
addEventListener(MouseEvent.MOUSE_DOWN, eventDown);
addEventListener(MouseEvent.MOUSE_UP, eventUp);
addEventListener(MouseEvent.MOUSE_OUT, eventOut);
addEventListener(MouseEvent.MOUSE_OVER, eventIn);
defaultState();
}
protected function eventOut(_arg1):void{
defaultState();
}
protected function mouseState():void{
clear();
addChild(mouseInstance);
}
protected function pressedState():void{
clear();
addChild(pressedInstance);
}
protected function clear():void{
while (numChildren) {
removeChildAt((numChildren - 1));
};
}
protected function defaultState():void{
clear();
addChild(defaultInstance);
}
protected function eventUp(_arg1):void{
mouseState();
}
protected function eventDown(_arg1):void{
pressedState();
URLLink.open(url);
}
protected function eventIn(_arg1):void{
mouseState();
}
}
}//package
Section 777
//MaxGamesLinkButton_defaultImage (MaxGamesLinkButton_defaultImage)
package {
import mx.core.*;
public class MaxGamesLinkButton_defaultImage extends BitmapAsset {
}
}//package
Section 778
//MaxGamesLinkButton_mouseImage (MaxGamesLinkButton_mouseImage)
package {
import mx.core.*;
public class MaxGamesLinkButton_mouseImage extends BitmapAsset {
}
}//package
Section 779
//MaxGamesLinkButton_pressedImage (MaxGamesLinkButton_pressedImage)
package {
import mx.core.*;
public class MaxGamesLinkButton_pressedImage extends BitmapAsset {
}
}//package
Section 780
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
protected static function handleIOError(_arg1:IOErrorEvent):void{
trace("MochiBot failed to connect.");
}
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();
_local8.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 781
//PlayButton (PlayButton)
package {
import flash.display.*;
import flash.events.*;
public class PlayButton extends Sprite {
protected var defaultImage:Class;
protected var callback;
protected var mouseImage:Class;
protected var pressedInstance:Bitmap;
protected var pressedImage:Class;
protected var mouseInstance:Bitmap;
protected var defaultInstance:Bitmap;
public function PlayButton(_arg1){
defaultImage = PlayButton_defaultImage;
mouseImage = PlayButton_mouseImage;
pressedImage = PlayButton_pressedImage;
super();
this.callback = _arg1;
defaultInstance = new defaultImage();
mouseInstance = new mouseImage();
pressedInstance = new pressedImage();
addEventListener(MouseEvent.MOUSE_DOWN, eventDown);
addEventListener(MouseEvent.MOUSE_UP, eventUp);
addEventListener(MouseEvent.MOUSE_OUT, eventOut);
addEventListener(MouseEvent.MOUSE_OVER, eventIn);
defaultState();
}
protected function eventOut(_arg1):void{
defaultState();
}
protected function mouseState():void{
clear();
addChild(mouseInstance);
}
protected function clear():void{
while (numChildren) {
removeChildAt((numChildren - 1));
};
}
protected function pressedState():void{
clear();
addChild(pressedInstance);
}
protected function defaultState():void{
clear();
addChild(defaultInstance);
}
protected function eventUp(_arg1):void{
mouseState();
}
protected function eventDown(_arg1):void{
pressedState();
callback();
}
protected function eventIn(_arg1):void{
mouseState();
}
}
}//package
Section 782
//PlayButton_defaultImage (PlayButton_defaultImage)
package {
import mx.core.*;
public class PlayButton_defaultImage extends BitmapAsset {
}
}//package
Section 783
//PlayButton_mouseImage (PlayButton_mouseImage)
package {
import mx.core.*;
public class PlayButton_mouseImage extends BitmapAsset {
}
}//package
Section 784
//PlayButton_pressedImage (PlayButton_pressedImage)
package {
import mx.core.*;
public class PlayButton_pressedImage extends BitmapAsset {
}
}//package
Section 785
//Preloader (Preloader)
package {
import flash.display.*;
import genius.preloader.*;
import genius.util.*;
public dynamic class Preloader extends MochiPreloader {
protected var loading:Bitmap;
protected var loadingEmbed:Class;
protected var allow:Array;
protected var logoEmbed:Class;
public function Preloader(){
logoEmbed = Preloader_logoEmbed;
loadingEmbed = Preloader_loadingEmbed;
allow = ["GßîÇrè\x156!5@Gy$\x15ø", "\x063Eìw`øÙ\x07", "¸-Qà@vÙöx\x13·£"];
super();
}
override protected function adEnabled():Boolean{
return (false);
}
override protected function trackID():String{
return (Encoder.reverse("z\x031P j"));
}
override protected function createLogo():DisplayObject{
return (new logoEmbed());
}
override protected function allowed():Array{
return (null);
}
override protected function createProgressBar(_arg1:int, _arg2:int):ProgressBar{
var _local3:Number = 5;
var _local4:ProgressBar = new ProgressBar(343, 8, 0, 0, 0, 0xFF0000, 0xFF0000, 0);
_local4.x = 231;
_local4.y = 355;
return (_local4);
}
override protected function postLogo():void{
var _local1:MaxGamesLinkButton = new MaxGamesLinkButton();
_local1.x = 81;
_local1.y = 243;
addChild(_local1);
loading = new loadingEmbed();
loading.x = 121;
loading.y = 350;
addChild(loading);
}
override protected function postLoad():void{
removeChild(loading);
loading = null;
removeChild(progress);
progress = null;
var _local1:PlayButton = new PlayButton(playPressed);
_local1.x = 208;
_local1.y = 342;
addChild(_local1);
}
override protected function gameName():String{
return ("ScamperGame");
}
override protected function adID():String{
return (Encoder.reverse("¾´éæ\x14v¼Kn.y\x1A"));
}
}
}//package
Section 786
//Preloader_loadingEmbed (Preloader_loadingEmbed)
package {
import mx.core.*;
public class Preloader_loadingEmbed extends BitmapAsset {
}
}//package
Section 787
//Preloader_logoEmbed (Preloader_logoEmbed)
package {
import mx.core.*;
public class Preloader_logoEmbed extends BitmapAsset {
}
}//package
Section 788
//ScamperGame (ScamperGame)
package {
import genius.game.*;
import flash.events.*;
import genius.resource.*;
import flash.geom.*;
import flash.text.*;
import scamper.gamelet.*;
import flash.net.*;
public class ScamperGame extends Game {
private var FuturePix:Class;
public function ScamperGame(){
FuturePix = ScamperGame_FuturePix;
super();
}
public function loadData(_arg1:ILoaderListener):void{
engine.dataloader.setListener(_arg1);
engine.dataloader.load("data/config.xml", configLoaded);
engine.dataloader.begin();
addEventListener(Event.ENTER_FRAME, pollDataLoader);
}
protected function pollDataLoader(_arg1):void{
engine.dataloader.update();
}
public function onAttach():void{
engine.onAttach();
}
public function init():void{
screenWidth = 700;
screenHeight = 600;
this.scrollRect = new Rectangle(0, 0, screenWidth, screenHeight);
mouseChildren = false;
engine = new Engine(this, screenWidth, screenHeight);
engine.gameplay = new ScamperGameplay(engine);
engine.timer.setTickRate(60);
engine.rendering.setCamera(0, 0, 600);
addGamelet("sponsorsplash", new SplashScreenGamelet(30, "stolengoosesplash"));
addGamelet("stolengoosesplash", new SplashScreenGamelet(20, "menu"));
addGamelet("menu", new MenuGamelet());
addGamelet("instructions", new InstructionsGamelet());
addGamelet("main", new MainGamelet());
addGamelet("credits", new CreditsGamelet());
addGamelet("scores", new ScoresGamelet());
}
public function resourcesLoaded():void{
engine.dataloader.setListener(null);
var _local1:* = engine.resources;
gamelets["sponsorsplash"].configure(_local1.splashScreens.sponsor, engine.gameplay.eventOpenSponsorWebsite);
gamelets["sponsorsplash"].setupButtons(_local1.splashScreenButtons);
gamelets["stolengoosesplash"].configure(_local1.splashScreens.stolengoose, engine.gameplay.eventOpenWebsite);
gamelets["stolengoosesplash"].setupButtons(_local1.splashScreenButtons);
gamelets["main"].configure(_local1);
gamelets["menu"].setupButtons(_local1.menuButtons);
gamelets["instructions"].setupButtons(_local1.instructionsButtons);
gamelets["main"].setupButtons(_local1.gameButtons);
gamelets["credits"].setupButtons(_local1.creditsButtons);
gamelets["scores"].setupButtons(_local1.scoresButtons);
engine.sound.setVolume(_local1.globalVolume);
activateGamelet("sponsorsplash");
addEventListener(Event.ENTER_FRAME, run);
}
protected function configLoaded(_arg1:XML):void{
engine.resources = engine.configparser.fromXML(_arg1.localName(), _arg1);
engine.dataloader.begin();
}
}
}//package
Section 789
//ScamperGame_FuturePix (ScamperGame_FuturePix)
package {
import mx.core.*;
public class ScamperGame_FuturePix extends FontAsset {
}
}//package
Section 790
//ScamperGameplay (ScamperGameplay)
package {
import genius.component.*;
import flash.geom.*;
import genius.sound.*;
import genius.actor.*;
import genius.graphics.*;
import scamper.actor.*;
import genius.util.*;
import genius.graphics.renderable.*;
import genius.gui.*;
import scamper.*;
import flash.net.*;
import scamper.coin.*;
import mochi.as3.*;
import scamper.component.*;
public class ScamperGameplay {
public var coins:int;
protected var lives:int;
public var speedControl:SpeedControl;
public var musicButtonState:int;// = 0
protected var music:SoundData;
protected var introTimer:Number;
public var showResults:Boolean;
protected var engine:Engine;
public var powerup:PowerupManager;
public var shared:SharedObject;
public var gameRunning:Boolean;// = true
public var showInstructionsState:int;// = 0
protected var spawnTimer:Number;
protected var state:int;
public var score:int;
public var ghostsEaten:int;
public var sfxButtonState:int;// = 0
public var coinPattern:ICoinPattern;
public var gameTime:Number;
protected var numGhosts:int;
protected var ghostsSpawned:int;
public static const MAIN:int = 1;
public static const INTRO:int = 0;
public function ScamperGameplay(_arg1:Engine){
powerup = new PowerupManager();
super();
shared = SharedObject.getLocal("ScamperGhostConfig", "/");
gameRunning = false;
gameTime = 0;
coins = 0;
ghostsEaten = 0;
score = 0;
registerStats();
this.engine = _arg1;
setupComponentManagers();
showResults = false;
}
public function showOnlineScores(_arg1:Function=null, _arg2:Function=null, _arg3:Function=null):void{
var _local4:Object = {boardID:boardName(), res:resString(), denyFriends:false};
if (_arg1 != null){
_local4.onDisplay = _arg1;
};
if (_arg2 != null){
_local4.onClose = _arg2;
};
if (_arg3 != null){
_local4.onError = _arg3;
};
MochiScores.showLeaderboard(_local4);
}
public function eventLittleGhostEaten(_arg1:Point):void{
ghostsEaten = (ghostsEaten + 1);
speedControl.addJuice(engine, engine.resources.gameplay.speed.littleGhost);
engine.sound.playPositioned(engine.resources.appearance.ghostEatenSound, "ghost", 1, _arg1);
addScore(engine.resources.gameplay.score.littleGhost);
powerup.incrementPowerupChain(engine);
}
protected function spawnBigGhost():BaseGhost{
var _local1:BaseGhost = (engine.createObject(engine.resources.worldResources.bigghost) as BaseGhost);
_local1.randomizeSpawn(engine);
numGhosts = (numGhosts + 1);
syncGhostDisplay();
return (_local1);
}
protected function syncScoreDisplay():void{
var _local2:*;
var _local3:SpriteRenderable;
var _local4:int;
var _local5:int;
var _local1:GameObject = engine.managers.name.lookup("scoreDisplay");
if (_local1){
_local2 = engine.resources.animations.ledNumbers;
_local5 = Math.min(score, 999999);
_local3 = _local1.getComponent("digit0", SpriteRenderable);
_local4 = extractDigit(_local5, 0);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit1", SpriteRenderable);
_local4 = extractDigit(_local5, 1);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit2", SpriteRenderable);
_local4 = extractDigit(_local5, 2);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit3", SpriteRenderable);
_local4 = extractDigit(_local5, 3);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit4", SpriteRenderable);
_local4 = extractDigit(_local5, 4);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit5", SpriteRenderable);
_local4 = extractDigit(_local5, 5);
_local3.shader.texture = _local2.frame[_local4];
};
}
public function eventOpenJunkyardSamWebsite(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
URLLink.open(engine.resources.links.junkyardSamURL);
}
public function eventSleeperGhostEaten(_arg1:Point):void{
ghostsEaten = (ghostsEaten + 1);
speedControl.addJuice(engine, engine.resources.gameplay.speed.sleeperGhost);
engine.sound.playPositioned(engine.resources.appearance.ghostEatenSound, "ghost", 1, _arg1);
addScore(engine.resources.gameplay.score.sleeperGhost);
powerup.incrementPowerupChain(engine);
}
public function eventPlayButtonReleased(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
if (showInstructionsState == 0){
engine.game.activateGamelet("instructions");
} else {
engine.game.activateGamelet("main");
};
}
public function eventPlayerDead():void{
engine.gameplay.registerStats();
showResults = true;
engine.sound.play(engine.resources.appearance.gameOverSound);
engine.gameplay.setMusic(engine.resources.menuMusic);
engine.game.activateGamelet("scores");
}
protected function syncTwoDigitDisplay(_arg1:GameObject, _arg2:int):void{
var _local3:*;
var _local4:SpriteRenderable;
var _local5:int;
if (_arg1){
_arg2 = MathUtil.clamp(_arg2, 0, 99);
_local3 = engine.resources.animations.ledNumbers;
_local4 = _arg1.getComponent("digit0", SpriteRenderable);
_local5 = extractDigit(_arg2, 0);
_local4.shader.texture = _local3.frame[_local5];
_local4 = _arg1.getComponent("digit1", SpriteRenderable);
_local5 = extractDigit(_arg2, 1);
_local4.shader.texture = _local3.frame[_local5];
};
}
public function makeScoreLUT():Object{
var _local1:* = shared.data;
var _local2:Object = {time:gameTime.toFixed(2), bestTime:_local1.bestTime.toFixed(2), coins:coins.toString(), bestCoins:_local1.bestCoins.toString(), ghostsEaten:ghostsEaten.toString(), bestGhostsEaten:_local1.bestGhostsEaten.toString(), score:score.toString(), bestScore:_local1.bestScore.toString()};
return (_local2);
}
public function message(_arg1:String):void{
var _local2:MessageDisplay;
if (_arg1){
_local2 = (engine.managers.name.lookup("messageDisplay") as MessageDisplay);
if (_local2){
_local2.setMessage(_arg1);
};
};
}
protected function getDoor():GhostDoor{
return ((engine.managers.name.lookup("ghostDoor") as GhostDoor));
}
protected function extractDigit(_arg1:Number, _arg2:int):int{
return (Math.floor(((_arg1 * Math.pow(10, -(_arg2))) % 10)));
}
public function directionFrame(_arg1:Point):int{
var _local2:Number;
var _local3:int;
if ((((Math.abs(_arg1.x) < 0.5)) && ((Math.abs(_arg1.y) < 0.5)))){
return (16);
};
_local2 = Math.atan2(_arg1.x, -(_arg1.y));
_local3 = Math.floor(MathUtil.wrap((((_local2 / Math.PI) * 8) + 0.5), 0, 16));
return (_local3);
}
protected function syncGhostMeter():void{
var _local2:SpriteRenderable;
var _local3:Number;
var _local4:Number;
var _local1:GameObject = engine.managers.name.lookup("ghostMeter");
if (_local1){
_local2 = _local1.getComponent("meter", SpriteRenderable);
_local3 = 199;
_local4 = (spawnTimer / engine.resources.gameplay.ghostSpawnTime);
_local2.size.y = (_local4 * _local3);
_local2.center.y = ((-(_local3) * 0.5) * (1 - _local4));
_local2.shader.colorModulation = engine.resources.appearance.ghostMeter.emptyColor.lerp(engine.resources.appearance.ghostMeter.fullColor, _local4);
};
}
public function showScoresSubmit():void{
MochiScores.showLeaderboard({boardID:boardName(), score:score, res:resString(), previewScores:true, denyFriends:false});
}
public function eventCoinCollected(_arg1:Point):void{
var _local3:*;
var _local4:int;
var _local5:SoundData;
setNumCoins((coins + 1));
message(engine.interpolate(engine.resources.appearance.messages.coins, {coins:coins}));
var _local2:int = engine.resources.gameplay.coinsPerLife;
if ((((_local2 > 0)) && (((coins % _local2) == 0)))){
setNumLives((lives + 1));
message(engine.resources.appearance.messages.extraLife);
engine.sound.playPositioned(engine.resources.appearance.extraLifeSound, null, 1, new Point());
} else {
_local3 = engine.resources.appearance.coinPickupShader;
if (_local2 == 0){
_local4 = 0;
} else {
_local4 = int(((((coins - 1) % _local2) / Number(_local2)) * (_local3.sound.length - 1)));
};
_local5 = _local3.sound[_local4];
engine.sound.playPositioned(_local5, "coin", 1, _arg1);
};
speedControl.addJuice(engine, engine.resources.gameplay.speed.coin);
addScore(engine.resources.gameplay.score.coin);
}
protected function syncCoinMeter():void{
var _local2:SpriteRenderable;
var _local3:Number;
var _local4:Number;
var _local1:GameObject = engine.managers.name.lookup("coinMeter");
if (_local1){
_local2 = _local1.getComponent("meter", SpriteRenderable);
_local3 = 199;
_local4 = ((Number(coins) % engine.resources.gameplay.coinsPerLife) / engine.resources.gameplay.coinsPerLife);
_local2.size.y = (_local4 * _local3);
_local2.center.y = ((-(_local3) * 0.5) * (1 - _local4));
_local2.shader.colorModulation = engine.resources.appearance.coinMeter.emptyColor.lerp(engine.resources.appearance.coinMeter.fullColor, _local4);
};
}
public function eventMainMenuButtonClicked(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
engine.game.activateGamelet("menu");
}
public function eventInstructionsAcknowlaged(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
engine.game.activateGamelet("main");
}
protected function spawnSleeperGhost():BaseGhost{
var _local1:BaseGhost = (engine.createObject(engine.resources.worldResources.sleeperghost) as BaseGhost);
_local1.randomizeSpawn(engine);
numGhosts = (numGhosts + 1);
syncGhostDisplay();
return (_local1);
}
public function respawnGhost(_arg1:BaseGhost, _arg2:Number):void{
var _local3:GhostDoor = getDoor();
_local3.addPending(engine, _arg1, _arg2);
}
public function randomAreaPosition(_arg1:Number):Point{
var _local2:Number = MathUtil.uniform((engine.resources.bounds.playAreaLeft + _arg1), (engine.resources.bounds.playAreaRight - _arg1));
var _local3:Number = MathUtil.uniform((engine.resources.bounds.playAreaTop + _arg1), (engine.resources.bounds.playAreaBottom - _arg1));
var _local4:Point = new Point(_local2, _local3);
constrainToPlayArea(_local4, _arg1);
return (_local4);
}
public function eventOpenSponsorWebsite(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
URLLink.open(engine.resources.links.sponsorURL);
}
protected function setScore(_arg1:int):void{
score = _arg1;
syncScoreDisplay();
}
public function constrainToPlayArea(_arg1:Point, _arg2:Number):void{
var _local3:Number;
var _local4:Number;
_arg1.x = MathUtil.clamp(_arg1.x, (engine.resources.bounds.playAreaLeft + _arg2), (engine.resources.bounds.playAreaRight - _arg2));
_arg1.y = MathUtil.clamp(_arg1.y, (engine.resources.bounds.playAreaTop + _arg2), (engine.resources.bounds.playAreaBottom - _arg2));
var _local5:Number = engine.resources.bounds.cornerSize;
var _local6:Number = (_local5 + (_arg2 * 1.414214));
_local3 = (_arg1.x + _arg1.y);
_local4 = (_local3 - ((engine.resources.bounds.playAreaBottom + engine.resources.bounds.playAreaRight) - _local6));
if (_local4 > 0){
_arg1.x = (_arg1.x - (_local4 * 0.5));
_arg1.y = (_arg1.y - (_local4 * 0.5));
return;
};
_local4 = (_local3 - ((engine.resources.bounds.playAreaTop + engine.resources.bounds.playAreaLeft) + _local6));
if (_local4 < 0){
_arg1.x = (_arg1.x - (_local4 * 0.5));
_arg1.y = (_arg1.y - (_local4 * 0.5));
return;
};
_local3 = (_arg1.x - _arg1.y);
_local4 = (_local3 - ((engine.resources.bounds.playAreaLeft - engine.resources.bounds.playAreaBottom) + _local6));
if (_local4 < 0){
_arg1.x = (_arg1.x - (_local4 * 0.5));
_arg1.y = (_arg1.y + (_local4 * 0.5));
return;
};
_local4 = (_local3 - ((engine.resources.bounds.playAreaRight - engine.resources.bounds.playAreaTop) - _local6));
if (_local4 > 0){
_arg1.x = (_arg1.x - (_local4 * 0.5));
_arg1.y = (_arg1.y + (_local4 * 0.5));
return;
};
}
public function eventPowerupWarning():void{
engine.sound.play(engine.resources.appearance.powerupWarningSound);
powerup.eventPowerupWarning(engine);
}
public function eventBigGhostEaten(_arg1:Point):void{
ghostsEaten = (ghostsEaten + 1);
speedControl.addJuice(engine, engine.resources.gameplay.speed.bigGhost);
engine.sound.playPositioned(engine.resources.appearance.ghostEatenSound, "ghost", 1, _arg1);
addScore(engine.resources.gameplay.score.bigGhost);
powerup.incrementPowerupChain(engine);
}
protected function accumulateGameTime(_arg1:Number):void{
var _local2:BaseGhost;
var _local3:GhostDoor;
if (engine.resources){
if (Math.floor(gameTime) != Math.floor((gameTime + _arg1))){
eventSecondElapsed();
};
gameTime = (gameTime + _arg1);
if (state == INTRO){
introTimer = (introTimer + _arg1);
if (introTimer >= engine.resources.gameplay.introWait){
initialGhostSpawn();
spawnEffect();
state = MAIN;
};
} else {
spawnTimer = (spawnTimer + _arg1);
if (spawnTimer >= engine.resources.gameplay.ghostSpawnTime){
spawnTimer = (spawnTimer - engine.resources.gameplay.ghostSpawnTime);
ghostsSpawned = (ghostsSpawned + 1);
if (((ghostsSpawned + engine.resources.gameplay.bigGhost.spawnOffset) % engine.resources.gameplay.bigGhost.spawnModulus) == 0){
_local2 = spawnBigGhost();
} else {
if (((ghostsSpawned + engine.resources.gameplay.sleeperGhost.spawnOffset) % engine.resources.gameplay.sleeperGhost.spawnModulus) == 0){
_local2 = spawnSleeperGhost();
} else {
_local2 = spawnLittleGhost();
};
};
_local3 = getDoor();
_local3.addPending(engine, _local2, 0);
addScore((engine.resources.gameplay.score.spawnConstant + (engine.resources.gameplay.score.spawnScale * ghostsSpawned)));
spawnEffect();
};
};
syncGhostMeter();
powerup.tick(engine, _arg1);
};
}
public function initWorld(_arg1):void{
var _local3:int;
var _local4:Coin;
engine.clearWorld();
engine.loadWorld(engine.resources.defaultWorld);
if (engine.resources.gameplay.coin.pathsEnabled){
coinPattern = new RandomPathCoinPattern(engine);
} else {
coinPattern = new RandomCoinPattern(engine);
};
setNumLives(engine.resources.gameplay.startLives);
setNumCoins(0);
setScore(0);
speedControl = new SpeedControl(engine);
speedControl.reset(engine);
syncSpeedMeter();
spawnTimer = 0;
ghostsSpawned = 0;
gameTime = 0;
syncTimerDisplay();
numGhosts = 0;
ghostsEaten = 0;
syncGhostDisplay();
introTimer = 0;
state = INTRO;
powerup.reset(engine);
var _local2:GhostDoor = getDoor();
_local3 = 0;
while (_local3 < engine.resources.gameplay.coin.initialCoinCount) {
_local4 = (engine.createObject(engine.resources.worldResources.coin) as Coin);
_local4.randomizeSpawn(engine);
_local3++;
};
}
public function playerOffsetPredict(_arg1:Body, _arg2:Number):Point{
var _local3:GameObject = engine.managers.name.lookup("player");
var _local4:Body = _local3.getComponent("body", Body);
var _local5:Point = _local4.predict(_arg2);
var _local6:Point = _arg1.predict(_arg2);
return (_local5.subtract(_local6));
}
public function randomEdgePosition(_arg1:Number):Point{
var _local2:Number;
var _local3:Number;
if (Math.random() < engine.resources.bounds.topWeight){
_local2 = MathUtil.uniform(engine.resources.bounds.playAreaLeft, engine.resources.bounds.playAreaRight);
if (Math.random() < 0.5){
_local3 = engine.resources.bounds.playAreaTop;
} else {
_local3 = engine.resources.bounds.playAreaBottom;
};
} else {
_local3 = MathUtil.uniform(engine.resources.bounds.playAreaTop, engine.resources.bounds.playAreaBottom);
if (Math.random() < 0.5){
_local2 = engine.resources.bounds.playAreaLeft;
} else {
_local2 = engine.resources.bounds.playAreaRight;
};
};
return (new Point(_local2, _local3));
}
protected function syncGhostDisplay():void{
var _local1:GameObject = engine.managers.name.lookup("ghostDisplay");
syncTwoDigitDisplay(_local1, numGhosts);
}
public function showOnlineScoresSubmit(_arg1:Function=null, _arg2:Function=null, _arg3:Function=null):void{
var _local4:Object = {boardID:boardName(), res:resString(), denyFriends:false};
if (_arg1 != null){
_local4.onDisplay = _arg1;
};
if (_arg2 != null){
_local4.onClose = _arg2;
};
if (_arg3 != null){
_local4.onError = _arg3;
};
_local4.score = score;
_local4.previewScores = true;
MochiScores.showLeaderboard(_local4);
}
public function addScore(_arg1:int):void{
setScore((score + _arg1));
}
public function eventPlayerHit(_arg1:Point):Boolean{
setNumLives((lives - 1));
engine.sound.playPositioned(engine.resources.appearance.hitSound, null, 1, _arg1);
var _local2:StateFX = (engine.managers.name.lookup("stateFX") as StateFX);
if (_local2){
_local2.eventPlayerHit(engine);
};
if (lives > 0){
if (engine.resources.gameplay.clearBoardOnHit){
clearBoard();
};
message(engine.resources.appearance.messages.playerHit);
return (true);
//unresolved jump
};
message(engine.resources.appearance.messages.playerDead);
return (false);
}
public function eventOpenNcbrayWebsite(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
URLLink.open(engine.resources.links.ncbrayURL);
}
public function frame(_arg1:Number):void{
if (gameRunning){
syncTimerDisplay();
};
}
public function syncSpeedMeter():void{
var _local2:SpriteRenderable;
var _local3:Number;
var _local4:Number;
var _local5:Texture;
var _local1:GameObject = engine.managers.name.lookup("speedMeter");
if (_local1){
_local2 = _local1.getComponent("meter", SpriteRenderable);
if (_local2){
_local3 = 199;
if (engine.resources.gameplay.speed.enabled){
_local4 = (speedControl.juice / speedControl.maximum(engine));
} else {
_local4 = 1;
};
_local2.size.y = (_local4 * _local3);
_local2.center.y = ((-(_local3) * 0.5) * (1 - _local4));
if (engine.resources.gameplay.speed.enabled){
_local2.shader.colorModulation = engine.resources.appearance.speedMeter.emptyColor.lerp(engine.resources.appearance.speedMeter.fullColor, _local4);
} else {
_local2.shader.colorModulation = engine.resources.appearance.speedMeter.disabledColor;
};
};
_local2 = _local1.getComponent("chargeIcon", SpriteRenderable);
if (_local2){
if (!engine.resources.gameplay.speed.enabled){
if (speedControl.requestActive){
_local5 = engine.resources.appearance.speedMeter.disabledActive;
} else {
_local5 = engine.resources.appearance.speedMeter.disabledPassive;
};
} else {
if (speedControl.slowActive){
_local5 = engine.resources.appearance.speedMeter.allowedActive;
} else {
if (speedControl.canUse(engine)){
_local5 = engine.resources.appearance.speedMeter.allowedPassive;
} else {
if (speedControl.requestActive){
_local5 = engine.resources.appearance.speedMeter.disallowedActive;
} else {
_local5 = engine.resources.appearance.speedMeter.disallowedPassive;
};
};
};
};
_local2.shader.texture = _local5;
};
};
}
public function setupComponentManagers():void{
engine.addManager(new BodyManager());
engine.addManager(new NameManager());
engine.addManager(new SwarmManager());
engine.addManager(new GUIManager());
}
public function boardIsClear():Boolean{
var _local1:GhostDoor = engine.gameplay.getDoor();
return (((_local1.numPending() + 1) >= engine.gameplay.numGhosts));
}
protected function initialGhostSpawn():void{
var _local2:int;
var _local1:GhostDoor = getDoor();
_local2 = 0;
while (_local2 < engine.resources.gameplay.initialLittleGhostCount) {
_local1.addPending(engine, spawnLittleGhost(), 0);
_local2++;
};
_local2 = 0;
while (_local2 < engine.resources.gameplay.initialBigGhostCount) {
_local1.addPending(engine, spawnBigGhost(), 0);
_local2++;
};
_local2 = 0;
while (_local2 < engine.resources.gameplay.initialSleeperGhostCount) {
_local1.addPending(engine, spawnSleeperGhost(), 0);
_local2++;
};
}
public function eventPowerupEnd():void{
powerup.eventPowerupEnd(engine);
}
public function eventInstructionsOff(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
showInstructionsState = 1;
}
public function boardName():String{
var _local1 = "Ôî5EÄN\x07hÓÙ|qÌ9^";
return (Encoder.reverse(_local1));
}
public function clearBoard():void{
var ghost:BaseGhost;
var ghosts:Array = engine.gom.query(function (_arg1:GameObject):Boolean{
return ((_arg1 is BaseGhost));
});
for each (ghost in ghosts) {
ghost.doDeath(engine, engine.resources.gameplay.clearRespawnDelay);
};
}
public function setNumCoins(_arg1:int):void{
coins = _arg1;
syncCoinMeter();
}
public function eventClearHighScoresButtonClicked(_arg1):void{
var _local2:* = shared.data;
_local2.bestTime = 0;
_local2.bestCoins = 0;
_local2.bestGhostsEaten = 0;
_local2.bestScore = 0;
engine.sound.play(engine.resources.appearance.gameOverSound);
}
public function setNumLives(_arg1:int):void{
var _local3:GameObject;
var _local4:*;
var _local5:SpriteRenderable;
var _local2:int = engine.resources.gameplay.maxLives;
lives = MathUtil.clamp(_arg1, 0, _local2);
_local3 = engine.managers.name.lookup("lifeDisplay");
syncTwoDigitDisplay(_local3, lives);
_local3 = engine.managers.name.lookup("lifeIndicator");
if (_local3){
_local4 = engine.resources.worldResources.lifeIndicator;
_local5 = _local3.getComponent("mainScene0", SpriteRenderable);
if (_local5){
_local5.shader.texture = _local4.frame[((lives > 0)) ? 1 : 0];
_local5.enabled = (_local2 > 0);
};
_local5 = _local3.getComponent("mainScene1", SpriteRenderable);
if (_local5){
_local5.shader.texture = _local4.frame[((lives > 1)) ? 1 : 0];
_local5.enabled = (_local2 > 1);
};
_local5 = _local3.getComponent("mainScene2", SpriteRenderable);
if (_local5){
_local5.shader.texture = _local4.frame[((lives > 2)) ? 1 : 0];
_local5.enabled = (_local2 > 2);
};
_local5 = _local3.getComponent("mainScene3", SpriteRenderable);
if (_local5){
_local5.shader.texture = _local4.frame[((lives > 3)) ? 1 : 0];
_local5.enabled = (_local2 > 3);
};
_local5 = _local3.getComponent("mainScene4", SpriteRenderable);
if (_local5){
_local5.shader.texture = _local4.frame[((lives > 4)) ? 1 : 0];
_local5.enabled = (_local2 > 4);
};
};
}
public function tick(_arg1:Number):void{
if (gameRunning){
accumulateGameTime(_arg1);
speedControl.tick(engine, _arg1);
};
}
public function eventInstructionsOn(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
showInstructionsState = 0;
}
public function registerStats():void{
var _local1:* = shared.data;
if (((!(("bestTime" in _local1))) || ((_local1.bestTime < gameTime)))){
_local1.bestTime = gameTime;
};
if (((!(("bestCoins" in _local1))) || ((_local1.bestCoins < coins)))){
_local1.bestCoins = coins;
};
if (((!(("bestGhostsEaten" in _local1))) || ((_local1.bestGhostsEaten < ghostsEaten)))){
_local1.bestGhostsEaten = ghostsEaten;
};
if (((!(("bestScore" in _local1))) || ((_local1.bestScore < score)))){
_local1.bestScore = score;
};
}
public function eventMusicOff(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
engine.sound.pauseMusic();
musicButtonState = 1;
}
protected function spawnLittleGhost():BaseGhost{
var _local1:BaseGhost = (engine.createObject(engine.resources.worldResources.littleghost) as BaseGhost);
_local1.randomizeSpawn(engine);
numGhosts = (numGhosts + 1);
syncGhostDisplay();
return (_local1);
}
public function initResults(_arg1):void{
var _local2:GameObject;
var _local3:TextRenderable;
var _local4:Object = makeScoreLUT();
_local2 = engine.managers.name.lookup("timeResult");
if (_local2){
_local3 = _local2.getComponent("mainSceneText", TextRenderable);
_local3.text = engine.interpolate(_arg1.timeText, _local4);
};
_local2 = engine.managers.name.lookup("coinsResult");
if (_local2){
_local3 = _local2.getComponent("mainSceneText", TextRenderable);
_local3.text = engine.interpolate(_arg1.coinsText, _local4);
};
_local2 = engine.managers.name.lookup("ghostsResult");
if (_local2){
_local3 = _local2.getComponent("mainSceneText", TextRenderable);
_local3.text = engine.interpolate(_arg1.ghostsEatenText, _local4);
};
_local2 = engine.managers.name.lookup("scoreResult");
if (_local2){
_local3 = _local2.getComponent("mainSceneText", TextRenderable);
_local3.text = engine.interpolate(_arg1.scoreText, _local4);
};
}
public function isInsidePlayArea(_arg1:Point, _arg2:Number):Boolean{
return (((((((((_arg1.x + _arg2) >= engine.resources.bounds.playAreaLeft)) && (((_arg1.x - _arg2) < engine.resources.bounds.playAreaRight)))) && (((_arg1.y + _arg2) >= engine.resources.bounds.playAreaTop)))) && (((_arg1.y - _arg2) < engine.resources.bounds.playAreaBottom))));
}
protected function submitOnlineScore():void{
MochiScores.setBoardID(boardName());
MochiScores.submit(score, engine.resources.playerName);
}
public function eventSfxOn(_arg1):void{
engine.sound.setSFXMute(false);
engine.sound.play(engine.resources.appearance.menuClickSound);
sfxButtonState = 0;
}
public function eventCreditsButtonClicked(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
engine.game.activateGamelet("credits");
}
protected function resString():String{
return ("700x600");
}
public function playerOffset(_arg1:Point):Point{
var _local3:Placement;
var _local4:Point;
var _local2:GameObject = engine.managers.name.lookup("player");
if (_local2){
_local3 = _local2.getComponent("placement", Placement);
_local4 = _local3.position;
return (_local4.subtract(_arg1));
};
return (new Point(MathUtil.uniform(-1, 1), MathUtil.uniform(-1, 1)));
}
public function eventPowerupBegin():void{
powerup.eventPowerupBegin(engine);
}
public function eventSfxOff(_arg1):void{
engine.sound.setSFXMute(true);
sfxButtonState = 1;
}
public function eventMusicOn(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
if (music){
engine.sound.resumeMusic(music);
};
musicButtonState = 0;
}
protected function spawnEffect():void{
engine.sound.play(engine.resources.appearance.spawnSound);
message(engine.resources.appearance.messages.spawn);
var _local1:StateFX = (engine.managers.name.lookup("stateFX") as StateFX);
if (_local1){
_local1.eventGhostSpawned(engine);
};
}
public function eventSecondElapsed():void{
addScore((engine.resources.gameplay.score.timeConstant + (engine.resources.gameplay.score.timeScale * Math.floor(gameTime))));
}
public function setMusic(_arg1:SoundData):void{
if (((_arg1) && ((musicButtonState == 0)))){
if (_arg1 != this.music){
engine.sound.resumeMusic(_arg1);
};
} else {
engine.sound.pauseMusic();
};
this.music = _arg1;
}
public function eventOpenWebsite(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
URLLink.open(engine.resources.links.stolenGooseURL);
}
protected function syncTimerDisplay():void{
var _local2:*;
var _local3:SpriteRenderable;
var _local4:int;
var _local5:Number;
var _local6:int;
var _local7:int;
var _local1:GameObject = engine.managers.name.lookup("timerDisplay");
if (_local1){
_local2 = engine.resources.animations.ledNumbers;
_local5 = (gameTime % 1);
_local6 = (Math.floor(gameTime) % 60);
_local7 = ((Math.floor(gameTime) - _local6) / 60);
if (_local7 > 99){
_local7 = 99;
_local6 = 99;
};
_local3 = _local1.getComponent("digit0", SpriteRenderable);
_local4 = extractDigit(_local6, 0);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit1", SpriteRenderable);
_local4 = extractDigit(_local6, 1);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit2", SpriteRenderable);
_local4 = extractDigit(_local7, 0);
_local3.shader.texture = _local2.frame[_local4];
_local3 = _local1.getComponent("digit3", SpriteRenderable);
_local4 = extractDigit(_local7, 1);
_local3.shader.texture = _local2.frame[_local4];
};
}
public function eventScoresButtonClicked(_arg1):void{
engine.sound.play(engine.resources.appearance.menuClickSound);
engine.game.activateGamelet("scores");
}
public function resetGameplayState():void{
}
}
}//package