phaser-ce
Version:
Phaser CE (Community Edition) is a fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.
1 lines • 181 kB
Source Map (JSON)
{"version":3,"sources":["p2.js"],"names":["e","f","exports","module","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Scalar","Line","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","getIntersectionPoint","delta","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","vec2","AABB","options","lowerBound","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Body","Broadphase","world","boundingVolumeType","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","ContactEquationPool","FrictionEquationPool","TupleDictionary","Equation","Circle","Convex","Shape","Box","Narrowphase","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","size","frictionEquationPool","restitution","stiffness","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","contactSkinSize","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","convexOffset","convexAngle","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex0","worldVertex1","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","verts","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","v0","v1","pointInConvex","candidateDistance","localVertex","pic_worldVertex0","pic_worldVertex1","pic_r0","pic_r1","worldPoint","r0","r1","lastCross","cross","crossLength","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","intersect","squaredDistance","distanceFromIntersectionSquared","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","Utils","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","maxForce","worldAnchorA","worldAnchorB","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","AngleLockEquation","GearConstraint","ratio","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","ContactEquation","RotationalLockEquation","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","velocity","upperLimitEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RotationalVelocityEquation","RevoluteConstraint","worldPivotA","worldPivotB","pivotA","pivotB","worldPivot","localPivotA","localPivotB","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","Material","ContactMaterial","materialA","materialB","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","speedSquared","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","Spring","LinearSpring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","polyk","isArray","triangles","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","array","setArrayZero","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNode","IslandNodePool","../world/IslandNode","51","Island","IslandPool","../world/Island","52","OverlapKeeperRecordPool","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","reducedMass","aiw","ajw","resolver","numFrictionBefore","numFrictionEquations","speedSquaredB","speedSquaredA","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager"],"mappings":"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