PHYSACDEFvoidInitPhysics(void);// Initializes physics values, pointers and creates physics loop thread
PHYSACDEFvoidRunPhysicsStep(void);// Run physics step, to be used if PHYSICS_NO_THREADS is set in your main loop
PHYSACDEFvoidSetPhysicsTimeStep(doubledelta);// Sets physics fixed time step in milliseconds. 1.666666 by default
PHYSACDEFboolIsPhysicsEnabled(void);// Returns true if physics thread is currently enabled
PHYSACDEFvoidSetPhysicsGravity(floatx,floaty);// Sets physics global gravity force
PHYSACDEFPhysicsBodyCreatePhysicsBodyCircle(Vector2pos,floatradius,floatdensity);// Creates a new circle physics body with generic parameters
PHYSACDEFPhysicsBodyCreatePhysicsBodyRectangle(Vector2pos,floatwidth,floatheight,floatdensity);// Creates a new rectangle physics body with generic parameters
PHYSACDEFPhysicsBodyCreatePhysicsBodyPolygon(Vector2pos,floatradius,intsides,floatdensity);// Creates a new polygon physics body with generic parameters
PHYSACDEFvoidPhysicsAddForce(PhysicsBodybody,Vector2force);// Adds a force to a physics body
PHYSACDEFvoidPhysicsAddTorque(PhysicsBodybody,floatamount);// Adds an angular force to a physics body
PHYSACDEFvoidPhysicsShatter(PhysicsBodybody,Vector2position,floatforce);// Shatters a polygon shape physics body to little physics bodies with explosion force
PHYSACDEFintGetPhysicsBodiesCount(void);// Returns the current amount of created physics bodies
PHYSACDEFPhysicsBodyGetPhysicsBody(intindex);// Returns a physics body of the bodies pool at a specific index
PHYSACDEFintGetPhysicsShapeType(intindex);// Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON)
PHYSACDEFintGetPhysicsShapeVerticesCount(intindex);// Returns the amount of vertices of a physics body shape
PHYSACDEFVector2GetPhysicsShapeVertex(PhysicsBodybody,intvertex);// Returns transformed position of a body shape (body position + vertex transformed position)
PHYSACDEFvoidSetPhysicsBodyRotation(PhysicsBodybody,floatradians);// Sets physics body shape transform based on radians parameter
PHYSACDEFvoidDestroyPhysicsBody(PhysicsBodybody);// Unitializes and destroy a physics body
PHYSACDEFvoidResetPhysics(void);// Destroys created physics bodies and manifolds and resets global values
PHYSACDEFvoidClosePhysics(void);// Unitializes physics pointers and closes physics loop thread