From 5cd2ce05fd408c856d3fcaac2406c179fc73b2df Mon Sep 17 00:00:00 2001 From: Bill Meltsner Date: Sun, 25 Sep 2011 11:30:58 -0400 Subject: [PATCH] Fix scaling errors with CircleShape's radius --HG-- branch : box2d-update --- src/modules/physics/box2d/CircleShape.cpp | 5 +++-- src/modules/physics/box2d/Physics.cpp | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modules/physics/box2d/CircleShape.cpp b/src/modules/physics/box2d/CircleShape.cpp index a9123a3b9..09e03ab69 100644 --- a/src/modules/physics/box2d/CircleShape.cpp +++ b/src/modules/physics/box2d/CircleShape.cpp @@ -23,6 +23,7 @@ // Module #include "Body.h" #include "World.h" +#include "Physics.h" #include @@ -46,12 +47,12 @@ namespace box2d float CircleShape::getRadius() const { - return shape->m_radius; + return Physics::scaleUp(shape->m_radius); } void CircleShape::setRadius(float r) { - shape->m_radius = r; + shape->m_radius = Physics::scaleDown(r); } } // box2d diff --git a/src/modules/physics/box2d/Physics.cpp b/src/modules/physics/box2d/Physics.cpp index 466c07fc3..7bfffec98 100644 --- a/src/modules/physics/box2d/Physics.cpp +++ b/src/modules/physics/box2d/Physics.cpp @@ -63,7 +63,7 @@ namespace box2d { b2CircleShape *s = new b2CircleShape(); s->m_p = Physics::scaleDown(b2Vec2(x, y)); - s->m_radius = radius; + s->m_radius = Physics::scaleDown(radius); return new CircleShape(s); } @@ -225,7 +225,7 @@ namespace box2d b2DistanceOutput o; b2SimplexCache c; b2Distance(&o, &c, &i); - lua_pushnumber(L, o.distance); + lua_pushnumber(L, Physics::scaleUp(o.distance)); lua_pushnumber(L, Physics::scaleUp(o.pointA.x)); lua_pushnumber(L, Physics::scaleUp(o.pointA.y)); lua_pushnumber(L, Physics::scaleUp(o.pointB.x));